1分钟搭建自己的OpenAI GPT微信机器人
简介

最近 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 国际许可协议进行许可。