|
快速开始
快速开始详细文档:项目搭建文档
一、准备
1. 账号注册
项目默认使用接口。需要前往注册页面来创建账号。创建完账号后,要前往 API 管理页面创建一个 API Key 并保存下来。后面在项目中需要配置这个 key。接口需要海外网络访问并且需要绑定信用卡支付。
gpt-3.5-turbo 是默认的对话模型,计费方式是每约 750 个英文单词或 500 汉字(包含请求和回复)消耗 0.002 美元,图片生成使用的是 Dell E 模型,每张消耗 0.016 美元。
项目支持使用接口,且无需代理。它可以使用 Kimi、文心、讯飞、GPT-3.5、GPT-4o 等模型。同时,它还支持定制化知识库、联网搜索、MJ 绘图、文档总结、工作流等能力。修改配置后即可一键使用,可参考接入文档。
2.运行环境
支持 Linux 系统,此系统可在 Linux 服务器上长期运行;支持 MacOS 系统,同时需要进行安装。
建议版本处于 3.7.1 到 3.9.X 这个范围之间,其中 3.8 版本是推荐的。3.10 及更高版本在 MacOS 系统中可以使用,而在其他系统上,不确定是否能够正常运行。
部署无需进行环境安装以及源码下载,能够直接进入下一节。
(1) 克隆项目代码:
<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'> <pre>使用 git 命令克隆 https://github.com/zhayujie/chatgpt-on-wechat 这个仓库。 具体操作是执行 git clone 命令并跟上指定的仓库地址。 这样就能将该仓库复制到本地。
<span class="pl-c1">cd</span> chatgpt-on-wechat/</pre></p>
注: 如遇到网络问题可选择国内镜像
(2) 安装核心依赖 (必选):
能够使用创建机器人,并具有文字交流功能所需的最小依赖集合。
<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'> <pre>使用 pip3 来执行安装操作,安装的对象是 requirements.txt 文件中的依赖项。</pre></p>
(3) 拓展依赖 (可选,建议安装):
<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'> <pre>使用 pip3 来执行安装操作,安装的对象是 requirements-optional.txt 文件。</pre></p>
如果某项依赖安装失败可注释掉对应的行再继续
二、配置
根目录下的-.json 中存有配置文件的模板,需要复制该模板来创建最终生效的.json 文件。
<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'> <pre>使用 cp 命令将 config-template.json 文件复制为 config.json 文件。</pre></p>
接着在.json 里填入配置,以下这些是关于默认配置的说明,能够依据需求进行自行设定修改(需注意在实际使用时要去掉注释,确保 JSON 格式的完整性)。
<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'> <pre><span class="pl-c"><span class="pl-c">#</span> config.json文件内容示例</span>
{
<span class="pl-s"><span class="pl-pds">"</span>model<span class="pl-pds">"</span></span>: <span class="pl-s"><span class="pl-pds">"</span>gpt-3.5-turbo<span class="pl-pds">"</span></span>, <span class="pl-c"><span class="pl-c">#</span>模型名称,它支持 gpt-3.5-turbo ;它支持 gpt-4 ;它支持 gpt-4-turbo ;它支持 wenxin ;它支持 xunfei ;它支持 glm-4 ;它支持 claude-3-haiku ;它支持 moonshot 。</span>
<span class="pl-s"><span class="pl-pds">"</span>open_ai_api_key<span class="pl-pds">"</span></span>: <span class="pl-s"><span class="pl-pds">"</span>YOUR API KEY<span class="pl-pds">"</span></span>, <span class="pl-c"><span class="pl-c">#</span>若使用 openAI 模型,就需填入上面创建的 OpenAI API KEY。</span>
<span class="pl-s"><span class="pl-pds">"</span>proxy<span class="pl-pds">"</span></span>: <span class="pl-s"><span class="pl-pds">"</span><span class="pl-pds">"</span></span>, <span class="pl-c"><span class="pl-c">#</span>代理客户端的相关信息包括 ip 和端口。在国内环境中,若需要开启代理,就需要填写此项内容,例如 "127.0.0.1:7890" 。</span>
<span class="pl-s"><span class="pl-pds">"</span>single_chat_prefix<span class="pl-pds">"</span></span>: [<span class="pl-s"><span class="pl-pds">"</span>bot<span class="pl-pds">"</span></span>, <span class="pl-s"><span class="pl-pds">"</span>@bot<span class="pl-pds">"</span></span>], <span class="pl-c"><span class="pl-c">#</span> 私聊时文本需要包含该前缀才能触发机器人回复</span>
<span class="pl-s"><span class="pl-pds">"</span>single_chat_reply_prefix<span class="pl-pds">"</span></span>: <span class="pl-s"><span class="pl-pds">"</span>[bot] <span class="pl-pds">"</span></span>, <span class="pl-c"><span class="pl-c">#</span> 私聊时自动回复的前缀,用于区分真人</span>
<span class="pl-s"><span class="pl-pds">"</span>group_chat_prefix<span class="pl-pds">"</span></span>: [<span class="pl-s"><span class="pl-pds">"</span>@bot<span class="pl-pds">"</span></span>], <span class="pl-c"><span class="pl-c">#</span> 群聊时包含该前缀则会触发机器人回复</span>
<span class="pl-s"><span class="pl-pds">"</span>group_name_white_list<span class="pl-pds">"</span></span>: [<span class="pl-s"><span class="pl-pds">"</span>GPT测试群<span class="pl-pds">"</span></span>, <span class="pl-s"><span class="pl-pds">"</span>GPT测试群2<span class="pl-pds">"</span></span>], <span class="pl-c"><span class="pl-c">#</span> 开启自动回复的群名称列表</span>
<span class="pl-s"><span class="pl-pds">"</span>group_chat_in_one_session<span class="pl-pds">"</span></span>: [<span class="pl-s"><span class="pl-pds">"</span>GPT测试群<span class="pl-pds">"</span></span>], <span class="pl-c"><span class="pl-c">#</span> 支持会话上下文共享的群名称 </span>
<span class="pl-s"><span class="pl-pds">"</span>image_create_prefix<span class="pl-pds">"</span></span>: [<span class="pl-s"><span class="pl-pds">"</span>画<span class="pl-pds">"</span></span>, <span class="pl-s"><span class="pl-pds">"</span>看<span class="pl-pds">"</span></span>, <span class="pl-s"><span class="pl-pds">"</span>找<span class="pl-pds">"</span></span>], <span class="pl-c"><span class="pl-c">#</span> 开启图片回复的前缀</span>
<span class="pl-s"><span class="pl-pds">"</span>conversation_max_tokens<span class="pl-pds">"</span></span>: 1000, <span class="pl-c"><span class="pl-c">#</span> 支持上下文记忆的最多字符数</span>
<span class="pl-s"><span class="pl-pds">"</span>speech_recognition<span class="pl-pds">"</span></span>: false, <span class="pl-c"><span class="pl-c">#</span> 是否开启语音识别</span>
<span class="pl-s"><span class="pl-pds">"</span>group_speech_recognition<span class="pl-pds">"</span></span>: false, <span class="pl-c"><span class="pl-c">#</span> 是否开启群组语音识别</span>
<span class="pl-s"><span class="pl-pds">"</span>voice_reply_voice<span class="pl-pds">"</span></span>: false, <span class="pl-c"><span class="pl-c">#</span> 是否使用语音回复语音</span>
<span class="pl-s"><span class="pl-pds">"</span>trigger_by_self<span class="pl-pds">"</span></span>: False, <span class="pl-c"><span class="pl-c">#</span> 是否允许自己触发机器人</span>
<span class="pl-s"><span class="pl-pds">"</span>character_desc<span class="pl-pds">"</span></span>: <span class="pl-s"><span class="pl-pds">"</span>你是大语言模型的 AI 智能助手,目的是回答和解决人们的各种问题,还能够使用多种语言与人们交流。<span class="pl-pds">"</span></span>, <span class="pl-c"><span class="pl-c">#</span> 人格描述</span>
<span class="pl-c"><span class="pl-c">#</span>订阅消息,在公众号和企业微信 channel 中需要填写。当被订阅时,会自动进行回复,并且可以使用特殊占位符。目前所支持的占位符有{trigger_prefix},在程序里它会自动被替换成 bot 的触发词。</span>
<span class="pl-s"><span class="pl-pds">"</span>subscribe_msg<span class="pl-pds">"</span></span>: <span class="pl-s"><span class="pl-pds">"</span>感谢您予以关注!这里是 GPT,它能够进行自由对话。它还支持语音对话。同时,它也支持图片输出,以“画字”开头的消息将会按照要求创作图片。此外,它还支持角色扮演和文字冒险等丰富的插件。输入{trigger_prefix}#help 即可查看详细指令。<span class="pl-pds">"</span></span>,
<span class="pl-s"><span class="pl-pds">"</span>use_linkai<span class="pl-pds">"</span></span>: false, <span class="pl-c"><span class="pl-c">#</span>是否使用 LinkAI 接口,其默认状态是关闭的。当开启后,能够在国内进行访问,并且可以使用知识库和 MJ。</span>
<span class="pl-s"><span class="pl-pds">"</span>linkai_api_key<span class="pl-pds">"</span></span>: <span class="pl-s"><span class="pl-pds">"</span><span class="pl-pds">"</span></span>, <span class="pl-c"><span class="pl-c">#</span> LinkAI Api Key</span>
<span class="pl-s"><span class="pl-pds">"</span>linkai_app_code<span class="pl-pds">"</span></span>: <span class="pl-s"><span class="pl-pds">"</span><span class="pl-pds">"</span></span> <span class="pl-c"><span class="pl-c">#</span> LinkAI 应用或工作流code</span>
}</pre></p>
配置说明:
1.个人聊天
2.群组聊天
3.语音识别
4.其他配置
5.配置 (可选)
本说明文档或许未及时进行更新,当下所有能够选择的配置项都在该.py里被列出。
三、运行
1.本地运行
如果是开发机 本地运行,直接在项目根目录下执行:
<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'> <pre>python3 app.py <span class="pl-c"><span class="pl-c">#</span>在 windows 环境下,此命令一般是 python app.py 。</span></pre></p>
终端输出二维码后,进行扫码登录操作。当输出 "Start auto " 时,意味着自动回复程序已成功运行(需注意:用于登录的账号需在支付处完成实名认证)。扫码登录完成后,你的账号就变为机器人了,能够在手机端通过配置的关键词触发自动回复,无论是任意好友发送消息给你,还是你自己发消息给好友,都可实现,可参考#142。
2.服务器部署
使用nohup命令在后台运行程序:
<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'> <pre>nohup python3 app.py <span class="pl-k">&</span> tail -f nohup.out <span class="pl-c"><span class="pl-c">#</span> 在后台运行程序并通过日志输出二维码</span></pre></p>
扫码登录之后,程序就能在服务器后台运行。在这个时候,通过 ctrl+c 操作可以关闭日志,并且不会对后台程序的运行产生影响。使用 ps -ef | grep app.py | grep -v grep 这个命令,能够查看运行在后台的进程。如果想要重新启动程序,那么可以先将对应的进程 kill 掉。日志关闭后,若要再次打开,只需输入 tail -f nohup.out。并且,在该目录下有可一键运行、关闭程序的脚本供使用。
可以将项目进行复制,得到多份。然后分别启动这些程序。接着用不同的账号进行扫码登录。这样就能实现项目同时运行。
用户发送 #reset 就能够清空该用户的上下文记忆。
3.部署
使用部署时,不需要下载源码,也不需要安装依赖。只需要获取 -.yml 配置文件,然后启动容器就可以了。
前提是要将 及 - 安装好,安装成功的标志是执行 -v 和 - (或者 )能够查看到版本号,可前往官网去进行下载。
(1) 下载 -.yml 文件
<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'> <pre>使用 wget 命令来获取 https://open-1317903499.cos.ap-guangzhou.myqcloud.com/docker-compose.yml 这个文件。</pre></p>
下载完成后,打开 -.yml 这个文件,然后对所需配置进行修改,比如修改 和 T 等。
(2) 启动容器
在 -.yml 所在目录下执行以下命令启动容器:
<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'> <pre>sudo docker compose up -d</pre></p>
运行 sudo ps 这个操作,如果能够查看到 NAMES 为 -on- 的容器,那就表示运行成功了。
注意:
运行以下命令能够查看容器运行的日志,接着扫描日志里的二维码,就可以完成登录。
<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'> <pre>使用 sudo 命令来查看 chatgpt-on-wechat 容器的日志并持续输出。具体来说,就是运行 docker logs 命令并加上 -f 参数,以实现实时跟踪容器的日志输出。</pre></p>
(3) 插件使用
如果要在容器里修改插件配置,能够通过挂载的办法来实现。把插件配置文件改名为.json,放到与-.yml相同的目录中,并且在-.yml中的-on-部分下面添加映射。
<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'> <pre class="notranslate"><code>volumes:
./config.json 对应的是 /app/plugins/config.json
</code></pre></p>
4. 部署
每月会提供 5 刀的额度,同时还提供最多 500 小时的免费时长。(07.11 进行了更新:当下大部分账号已经不能够进行免费部署了。)
点击 Now 按钮。进入程序后,设置环境变量来重载程序运行的参数,例如……
一键部署:
常见问题
FAQs:
可以直接在线咨询项目小助手,需注意语料在持续完善,回复仅作参考。
️ 开发
欢迎接入更多的应用,只要参考相关代码,就能实现接收和发送消息的逻辑,从而完成接入。同时,欢迎增添新的插件,可参考插件说明文档。
联系
欢迎提交 PR ,也欢迎给予 Star 支持。若程序运行遇到问题,可查看常见问题列表;若未找到答案,可前往 中进行搜索。个人开发者可加入开源交流群参与更多讨论,企业用户可联系产品顾问咨询。
贡献者 |
|