简介
最近 chatGPT 火遍了中文互联网,而它的公司 OpenAI 也开放了 API 供开发者完成自己的创意。本项目是一个 Golang 实现的,基于 OpenAI 的开放 API 实现的微信聊天机器人。有以下优点:
- 部署简单:不同于其他语言,部署的时候需要依赖很多库,本项目只有一个可执行二进制文件,直接可以运行。(本项目只提供 x86/64 linux 版本,需要其他版本可以根据源码自行编译)
- 使用桌面版微信协议,突破微信登录限制(基于 openwechat)
目前本项目实现了以下功能:
- 文本对话: 可以接收私聊/群聊消息,使用 OpenAI 的 gpt-3.5-turbo 生成回复内容,自动回复问题
- 触发口令设置:好友在给你发消息时需要带上指定的前缀才可以触发与 GPT 机器人对话,触发口令可以在配置文件中设置
- 连续对话:支持对 私聊/群聊 开启连续对话功能,可以通过配置文件设置需要记忆多少分钟
- 图片生成:可以根据描述生成图片,并自动回复在当前 私聊/群聊 中
效果预览注:支持自己给自己发消息,机器人不仅感知当前会话好友的口令,也会感知你自己的,方便自己测试使用
先看使用效果,之后再介绍如何部署以及配置。下图包含了连续对话和文本画图的一些例子:
一、 环境准备
SECRET KEY
httops://api.openai.com
二、 配置
openai-on-wechat.zipunzip openai-on-wechat.zip
此时,你会看到压缩包里面有三个文件,分别是:
config.json.exampleprompt.txt.exampleopenai-on-wechat
接下来我们进行配置:
config.json.exampleconfig.json
wechattext_configimage_configopenapi_urlhttps://api.openai.com/v1https://你的反向代理地址/v1auth_tokenSECRET KEYtrigger_prefix小贺老贺context_configswitch_oncache_minute
prompt.txt.exampleprompt.txt
这个文件你可以利用自然语言描述机器人的特点,作为给机器人的外部输入,读者如果只是想保持简单的对话,可以不用修改此文件内容。
注: prompt 提示机制是 OpenAI 语言模型的核心玩法,你可以在这里使用自然语言,定义机器人的行为,你可以告诉他他是什么,他不是什么,他应该怎么做,他应该怎样回答问题,描述的越详细,机器人就更加有你的个人特色。具体玩法读者可自行搜索,本文不做过多介绍。
三、 运行
我们完成了配置之后,就可以直接执行二进制文件了,即:
首次执行,屏幕会出现一个二维码提示你登录微信,你需要用你要作为机器人的微信账号,扫码登录。
token.jsonrun.log
ctrl+c
来实现后台运行
大功告成至此,已经完成了微信机器人的部署,快去微信中找好友试试吧!
触发前缀+你的问题
联系作者
Issuesriba2534@qq.com
最后修改于 2023-03-12
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。