购买服务器

搭建机器人这里给大家推荐一个超级便宜的服务器 (NAT)https://idc.langlangy.com/

注册后选择 「轻量应用云服务器」,地域选 「公益云-学生机」,购买时长建议选择一年,毕竟一年才 11.76 元

我这里购买过了所以立即购买按钮是灰色

登录服务器

点击 【管理】 在弹出的窗口中复制你的服务器登录地址+端口,以及账号密码 (注意,因为这款服务器是 NAT 服务器,所以 SSH 远程端口要填映射端口)

安装必要的环境

 

安装 Python3

在服务器管理面板将服务器系统切换为 Ubuntu

Ubuntu 自带 Python2,但是为了能够使用 Python3,需要手动安装。在终端中输入以下命令:

sudo apt-get update
sudo apt-get install python3

即可完成 Python3 的安装。

安装 PIP

pip 是 Python 的软件包管理器,可以方便的安装、升级以及卸载 Python 的第三方库。

在终端中输入以下命令:

sudo apt-get update
sudo apt-get install python3-pip

 

安装完成后,可以通过以下命令检查是否安装成功:

pip3 --version

 

使用虚拟环境 (建议)

虚拟环境是 Python 开发中常用的工具,它可以隔离不同 Python 项目所需要的依赖库,使得不同项目之间不会相互干扰。

在终端中输入以下命令安装 venv:

sudo apt-get update
sudo apt-get install python3-venv

使用 venv 创建一个新的虚拟环境:

python3 -m venv myenv

这里将虚拟环境命名为 myenv,可以根据自己的需要进行命名。

进入虚拟环境:

source myenv/bin/activate

可以看到命令提示符前出现了 (myenv),表示已经成功进入虚拟环境。此时安装库时,将只会在该虚拟环境中安装,不会影响到其他环境。

退出虚拟环境:

deactivate

下载源码并进入项目目录

git clone https://github.com/zhayujie/chatgpt-on-wechat
cd chatgpt-on-wechat/

如果提示无法下载 (没安装 Git),可以用以下命令安装后再下载

apt install git

安装依赖

pip3 install -r requirements.txt # 必选依赖
pip3 install -r requirements-optional.txt # 可选依赖,语音、tool 插件等功能需要

修改配置文件

复制项目中的模板文件 config-template.json,来生成最终起效果的配置文件 config.json,你可以通过执行以下命令完成 (或下载配置文件到本地用本地编辑器修改好后重新上传覆盖):
cp config-template.json config.json
然后打开 config.json 文件,添加所需配置,具体配置含义如下:

{
"open_ai_api_key": "YOUR API KEY", # 填入 OpenAI API KEY
"model": "gpt-3.5-turbo", # 模型名称。当 use_azure_chatgpt 为 true 时,其名称为 Azure 上 model deployment 名称
"proxy": "", # 代理客户端的 ip 和端口
"single_chat_prefix": ["bot", "@bot"], # 私聊时文本需要包含该前缀才能触发机器人回复
"single_chat_reply_prefix": "[bot] ", # 私聊时自动回复的前缀,用于区分真人
"group_chat_prefix": ["@bot"], # 群聊时包含该前缀则会触发机器人回复
"group_name_white_list": ["ChatGPT 测试群", "ChatGPT 测试群 2"], # 开启自动回复的群名称列表
"group_chat_in_one_session": ["ChatGPT 测试群"], # 支持会话上下文共享的群名称
"image_create_prefix": ["画", "看", "找"], # 开启图片回复的前缀
"conversation_max_tokens": 1000, # 支持上下文记忆的最多字符数
"speech_recognition": false, # 是否开启语音识别
"group_speech_recognition": false, # 是否开启群组语音识别
"use_azure_chatgpt": false, # 是否使用 Azure ChatGPT service 代替 openai ChatGPT service. 当设置为 true 时需要设置 open_ai_api_base,如 https://xxx.openai.azure.com/
"azure_deployment_id": "", # 采用 Azure ChatGPT 时,模型部署名称
"character_desc": "你是 ChatGPT, 一个由 OpenAI 训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。", # 人格描述
# 订阅消息,公众号和企业微信 channel 中请填写,当被订阅时会自动回复,可使用特殊占位符。目前支持的占位符有 {trigger_prefix},在程序中它会自动替换成 bot 的触发词。
"subscribe_msg": "感谢您的关注!\n 这里是 ChatGPT,可以自由对话。\n 支持语音对话。\n 支持图片输出,画字开头的消息将按要求创作图片。\n 支持角色扮演和文字冒险等丰富插件。\n 输入 {trigger_prefix}#help 查看详细指令。"
}

 

运行程序

使用 nohup 命令在后台运行程序,即使断开 ssh 连接也能保持运行:

touch nohup.out # 首次运行需要新建日志文件
nohup python3 app.py & tail -f nohup.out # 在后台运行程序并通过日志输出二维码

扫码登录后程序即可运行于服务器后台,此时可通过 ctrl+c 关闭日志,不会影响后台程序的运行。在日志关闭后如果想要再次打开只需输入

tail -f nohup.out

 

停止程序

如果想要关闭程序可以 执行 kill -9 <pid> 来完成,其中数字 9 为当前进程的 PID,执行以下命令可以查看当前进程的 pid:

ps -ef | grep app.py | grep -v grep

至此搭建完成,关闭服务器的 SSH 远程连接机器人也照常运行

本项目需要用到的服务

服务器:https://idc.langlangy.com/

Link AI:https://link-ai.tech/

版权声明
1 本网站名称:404 码资源网
2 本站永久网址:https://www.404ma.com
3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长 QQ 122003352 进行删除处理。
4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报。
6 本站资源大都存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
7 如无特别声明本文即为原创文章,仅代表个人观点,版权归 《404 码资源网》 所有,如有转载请保留原文链接。