将chatgpt对接到微信等聊天工具的方法
建立此项目,你需要拥有一个国外的VPS
首先我们需要用到以下两个项目:
1是服务器管理面板,方便我们管理docker
2是开源的程序,可以实现对接微信等聊天软件
下面我们开始第一步,搭建1panel面板:
以debian系统为例,登陆你的VPS后输入以下指令:
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && bash quick_start.sh
全部点击回车,会自动进行安装,安装结束会显示面板登陆链接和账号及密码,记得保存到电脑记事本。
第二步,登陆1panel面板,点击左侧的主机-文件,进入root目录,新建一个文件,取名为
docker-compose.yml
第三步,打开刚创建的文件,将以下代码粘贴进去:
version: '2.0'
services:
chatgpt-on-wechat:
image: zhayujie/chatgpt-on-wechat
container_name: chatgpt-on-wechat
security_opt:
- seccomp:unconfined
volumes:
#- ./mod/lib/python3.10/site-packages:/usr/local/lib/python3.10/site-packages
#- ./config.json:/app/config.json
#- /etc/localtime:/etc/localtime:ro
#- ./plugins:/app/plugins
- ./config.json:/app/plugins/config.json
environment:
OPEN_AI_API_KEY: 'fastgpt-z51pkjqm9nrk03a1rx2funoy'
OPEN_AI_API_BASE: 'https://api.fastgpt.in/api/v1'
MODEL: 'gpt-3.5-turbo'
CHANNEL_TYPE: 'wx'
PROXY: ''
HOT_RELOAD: 'False'
SINGLE_CHAT_PREFIX: '[""]'
SINGLE_CHAT_REPLY_PREFIX: '""'
GROUP_CHAT_PREFIX: '["@bot"]'
GROUP_NAME_WHITE_LIST: '["ChatGPT测试群", "ChatGPT测试群2"]'
IMAGE_CREATE_PREFIX: '["画", "看", "找"]'
CONVERSATION_MAX_TOKENS: 1000
SPEECH_RECOGNITION: 'False'
CHARACTER_DESC: '你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。'
SUBSCRIBE_MSG: '感谢您的关注!\n这里是ChatGPT,可以自由对话。\n支持语音对话。\n支持图片输入。\n支持图片输出,画字开头的消息将按要求创作图片。\n支持tool、角色扮演和文字冒险等丰富的插件。\n输入{trigger_prefix}#help 查看详细指令。'
EXPIRES_IN_SECONDS: 3600
USE_GLOBAL_PLUGIN_CONFIG: 'True'
USE_LINKAI: 'False'
LINKAI_API_KEY: ''
LINKAI_APP_CODE: ''
第四步,修改 OPEN_AI_API_KEY 和 OPEN_AI_API_BASE 两个环境变量即可。第一个变量是第三方平台创建的api,第二个变量是第三方平台提供的代理地址,格式类似:https://***.com/v1/chat/completions
第五步,依次运行命令启动:
docker-compose pull
docker-compose up -d
第六步,运行命令,实现微信登陆
sudo docker logs -f chatgpt-on-wechat
此时,会出现微信二维码,将所有的http链接复制,然后粘贴到浏览器中打开,随后打开微信扫描二维码登陆。
私信发送 bot问题 会收到回复。
使用第三方API,可能会出现回复ERROR的情况,解决办法:
修改bot/chatgpt/chat_gpt_bot.py
的87、88、89行,让它tokens为0时不报错就好了。
如图所示:严格按照图示操作:
其实就是将87、88、89用#号注释掉,然后在下面新添加一行
if reply_content["completion_tokens"] >=0:
额外设置:
查看当前时间设置:
date
修改服务器时间为东八区上海:
sudo timedatectl set-timezone Asia/Shanghai
服务器时间自动同步校准:
sudo apt-get update
sudo apt-get install ntpdate
sudo ntpdate pool.ntp.org
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。