由于ChatGPT只提供了单纯的api,提供完整服务需要额外的开发工作。OpenIM把实时推送、消息记录、会话隔离、上下文管理、多端同步等强大的工程能力赋予了ChatGPT,协助开发者打造真正的聊天机器人
-
使用该机器人需要先部署openIM服务器 open-im-server部署文档
1.1 项目clone
git clone https://github.com/OpenIMSDK/Open-IM-Server.git --recursive;Copy to clipboardErrorCopied
1.2 初始化安装
cd Open-IM-Server; chmod +x install_im_server.sh; ./install_im_server.sh;Copy to clipboardErrorCopied
1.3 检查服务
cd script;./docker_check_service.sh
-
设置callback 该机器人使用了openIM的回调功能,关于该功能具体查看openIM官网的第三方回调说明文档。第三方回调官方文档
config/config.yaml
callback:
callbackUrl : "http://127.0.0.1:8080/callback"
callbackBeforeSendSingleMsg:
enable: true
callbackBeforeSendGroupMsg:
enable: true
- 重启
docker-compose down; docker-compose up -d
最新镜像:openim/chat_gpt:v0.0.1
docker run --name open_im_chat_gpt --net=host openim/chat_gpt:v0.0.1 python3 main.py --admin_id openIM123456 --api_key {{openai key}} --secret {{secret}} --im_api_url http://127.0.0.1:10002 --robot_user_id {{your robot id}} --host 127.0.0.1 --port 8080 --redis_addr 127.0.0.1:16379 --redis_pwd openIM123
部署版本需要python3.9(需要安装好python包管理工具pip3)
安装命令: pip3 install -r requirements.txt
运行命令
python3 ./main.py --admin_id openIM123456 --api_key {{openai key}} --secret {{secret}} --im_api_url http://127.0.0.1:10002 --robot_user_id {{your robot id}} --host 127.0.0.1 --port 8080 --redis_addr 127.0.0.1:16379 --redis_pwd openIM123
参数 | 详解 |
---|---|
admin_id | openIM管理员的userID, config.yaml文件manager.appManagerUid中的一个,默认为openIM123456 |
api_key | openai的密钥,自行获取 |
secret | openIM系统的密钥secret,.env中的PASSWORD,默认为openIM123 |
im_api_url | im消息推送api,如果单机部署则默认为http://127.0.0.1:10002 |
robot_user_id | 机器人userID,需先手动注册,英文字母和数字组成,注意不能和其他userID重复。 |
host | im消息callback ip(单机部署默认为127.0.0.1,和openIM config.yaml的callback配置一样) |
port | im消息callback 端口(默认8080,和openIM config.yaml的callback配置一样) |
redis_addr | 保存会话上下文使用redis,redis的地址, 单机部署默认为127.0.0.1:16379 |
redis_pwd | redis_pwd 密码, 单机部署默认为openIM123 |