开源一个ChatGPT AI角色对话项目

168 阅读1分钟

最近对AI很感兴趣,花了几天时间学习Android,尝试着结合Bmob AI SDK,做了一个具有角色功能的开源项目。可能是因为目前这类型的项目还比较少,发布之后,竟然还获得了几个star和fork。对于一个Android小白来说,还是蛮有成就感的。

先把源码地址放出来给大家共享,欢迎有兴趣的朋友一起加入,不断完善这个项目。有意愿加入的朋友联系本人建的Q群(673744742)。

github.com/bmob/Bmob-A…

项目暂定名称为BeAI。支持的功能包括:

  • 手机号码一键注册
  • AI角色的云端设置,包括prompt设置、入场词等。
  • AI聊天记录的云端化
  • 聊天内容的彻底清除

接下来想继续完善的功能包括:

  • 文字语音输入
  • 用户自定义AI角色(把prompt、入场词权限开放给用户)
  • 完善用户系统

现在的一些展示图:

1.jpg

2.jpg

3.jpg

参考资料:Bmob后端云

关键代码:

//连接AI服务器(这个代码为了防止AI连接中断,因为可能会存在某些情况下,比如网络切换、中断等,导致心跳连接失败) 
BmobApp.bmobAI.Connect(); 
//发送对话信息 
BmobApp.bmobAI.Chat("帮我用写一段android访问Bmob后端云的代码", "session_id", 
    new ChatMessageListener() {
    @Override public void onMessage(String message) { 
        //消息流的形式返回AI的结果 
        Log.d("Bmob", message); 
    } 
    
    @Override public void onFinish(String message) { 
        //一次性返回全部结果,这个方法需要等待一段时间,友好性较差 
        Log.d("Bmob", message); 
    } 
    
    @Override public void onError(String error) { 
        //OpenAI的密钥错误或者超过OpenAI并发时,会返回这个错误 
        Log.d("Bmob", "连接发生异常了"+error); 
    } 
    
    @Override public void onClose() { 
    Log.d("Bmob", "连接被关闭了"); 
    } 
});