购买服务器

搭建机器人这里给大家推荐一个超级便宜的服务器(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/

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。