目 录CONTENT

文章目录

ChatGPT API 微信聊天

ABin
2023-02-17 / 0 评论 / 0 点赞 / 17 阅读 / 0 字

(会封号,会封号,会封号,重要的事情要说三遍)

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

创建 OpenAI API Key

(OpenAI API KEY 请去:https://platform.openai.com/account/api-keys )

(进入后登录账号-> 点击右上角->头像-> 选择View API keys ->最左侧User 下 Api Keys )

(创建Key-> 点击页面中间的 Create new secret key)

(成功后弹出框 保存好 关闭后不可再查看Key)

在Linux 服务器中克隆代码 git clone https://github.com/zhayujie/chatgpt-on-wechat.git

% git clone https://github.com/zhayujie/chatgpt-on-wechat.git
Cloning into 'chatgpt-on-wechat'...
remote: Enumerating objects: 471, done.
remote: Counting objects: 100% (470/470), done.
remote: Compressing objects: 100% (195/195), done.
remote: Total 471 (delta 236), reused 398 (delta 202), pack-reused 1
Receiving objects: 100% (471/471), 1.62 MiB | 1.51 MiB/s, done.
Resolving deltas: 100% (236/236), done.

克隆完成后进入 chatgpt-on-wechat 目录

cd chatgpt-on-wechat 

建议Python版本在 3.7.1~3.9.X 之间,3.10及以上版本在 MacOS 可用,其他系统上不确定能否正常运行。

安装依赖

#我用的是3.8所以pip也是3.8
pip3.8 install itchat-uos==1.5.0.dev0
pip3.8 install --upgrade openai

注:itchat-uos使用指定版本1.5.0.dev0,openai使用最新版本,需高于0.25.0。

配置文件的模板在根目录的config-template.json中,需复制该模板创建最终生效的 config.json 文件

(编辑config.json文件请参考Vim 文本编辑器)

# config.json文件内容示例
{ 
  "open_ai_api_key": "YOUR API KEY",                          # 填入上面创建的 OpenAI API KEY
  "single_chat_prefix": ["bot", "@bot"],                      # 私聊时文本需要包含该前缀才能触发机器人回复
  "single_chat_reply_prefix": "[bot] ",                       # 私聊时自动回复的前缀,用于区分真人
  "group_chat_prefix": ["@bot"],                              # 群聊时包含该前缀则会触发机器人回复
  "group_name_white_list": ["ChatGPT测试群", "ChatGPT测试群2"], # 开启自动回复的群名称列表
  "image_create_prefix": ["画", "看", "找"],                   # 开启图片回复的前缀
  "conversation_max_tokens": 1000,                            # 支持上下文记忆的最多字符数
  "character_desc": "你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。"  # 人格描述
}

运行

如果是开发机 本地运行,直接在项目根目录下执行:

python3.8 app.py

终端输出二维码后,使用微信进行扫码,当输出 "Start auto replying" 时表示自动回复程序已经成功运行了(注意:用于登录的微信需要在支付处已完成实名认证)

在服务器运行

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

扫码登录后程序即可运行于服务器后台,此时可通过 ctrl+c 关闭日志,不会影响后台程序的运行。使用 ps -ef | grep app.py | grep -v grep 命令可查看运行于后台的进程,

查看 是否在运行可以使用 jobs 命令

# jobs 
[1]+  运行中               nohup python3.8 app.py &

如果想结束输入 fg 1 调出这个后台程序(1代表后台任务的序号,如果只有一个任务可以直接输入fg)

# fg
nohup python3.8 app.py

调出程序后再按Ctrl + C 来结束程序,

如果不想结束,按Ctrl + Z 让他进入后台

进入后台之后默认会停止 输入 bg 1 让他在后台继续运行

此时关闭Shell 窗口后会提示,

(jobs,fg,bg 命令仅限当前连接,如果启动程序之后断开过ssh 再连接时jobs 会不显示有任何程序在后台,但是项目还是在继续运行)

# fg
nohup python3.8 app.py
^Z
[1]+  已停止               nohup python3.8 app.py
# bg 
[1]+ nohup python3.8 app.py &

总结:

最开始我用Python3.7 运行 出现了各种各样的报错,最后安装了Python3.8 后成功运行

不能不在意 开发者提供的 建议版本 Python3.7.1 ~ Python3.9.X

总觉得是个Python3 就行,夺走了很多弯路

0

评论区