搭建属于自己的ChatGpt微信聊天机器人🚀🚀

欢迎关注我的公众号:萌萌哒草头将军,关注或者入群获取工具书PDF。

大家好,我是草头将军,好久不见。

本文是基于chatgpt-on-wechat项目的部署文章,感兴趣的可以直接移步这里

项目介绍

基于大模型搭建的聊天机器人。

  • 支持平台:企业微信、微信 公众号、飞书、钉钉 等接入
  • 支持模型:GPT3.5/GPT4.0/Claude/文心一言/讯飞星火/通义千问/Gemini/GLM-4/Claude/LinkAI,
  • 支持能力:处理文本、语音和图片,访问操作系统和互联网
  • 支持知识库:基于自有知识库进行定制企业智能客服(基于 LinkAI 实现)。
  • 支持插件:基于插件系统。如 tools(点这里)、LinkAI等

示例

1.基于chat-gpt的对话]

2.图片生成(以文找图),gpt3不支持

3.插件系统

3.2文档总结(基于python库)
3.3论文查找
3.wikipedia

准备工作

1.获取对应的账号

以免费gpt3为例说明,你也可以购买gpt4的key,这里不做演示

1.1 申请测试免费的账号

点这里,记住申请的key,和下面的几个转发地址

点这里,创建API key,并且创建应用,记住App code

安装

1.本地运行(需要python环境)

1.1 拉取代码
zsh 复制代码
git pull https://github.com/zhayujie/chatgpt-on-wechat.git
1.2 安装依赖
zsh 复制代码
# 主应用依赖
pip3 install requirements.txt
# 插件依赖
pip3 install -r requirements-optional.txt
1.3 配置参数

主应用:基于根目录下的config-template.json文件生成config.json,参数说明如下

json 复制代码
# config.json文件内容示例
{
  "open_ai_api_key": "YOUR API KEY",                          # 填入上面创建的 OpenAI API KEY
  "model": "gpt-3.5-turbo",                                   # 模型名称, 支持 gpt-3.5-turbo, gpt-3.5-turbo-16k, gpt-4, wenxin, xunfei, claude-3-opus-20240229
  "claude_api_key":"YOUR API KEY"                             # 如果选用claude3模型的话,配置这个key,同时如想使用生图,语音等功能,仍需配置open_ai_api_key
  "proxy": "",                                                # 代理客户端的ip和端口,国内环境开启代理的需要填写该项,如 "127.0.0.1:7890"
  "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时,模型部署名称
  "azure_api_version": "",                                    # 采用Azure ChatGPT时,API版本
  "character_desc": "你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。",  # 人格描述
  # 订阅消息,公众号和企业微信channel中请填写,当被订阅时会自动回复,可使用特殊占位符。目前支持的占位符有{trigger_prefix},在程序中它会自动替换成bot的触发词。
  "subscribe_msg": "感谢您的关注!\n这里是ChatGPT,可以自由对话。\n支持语音对话。\n支持图片输出,画字开头的消息将按要求创作图片。\n支持角色扮演和文字冒险等丰富插件。\n输入{trigger_prefix}#help 查看详细指令。",
  "use_linkai": false,                                        # 是否使用LinkAI接口,默认关闭,开启后可国内访问,使用知识库和MJ
  "linkai_api_key": "",                                       # LinkAI Api Key
  "linkai_app_code": ""                                       # LinkAI 应用code
}

插件的配置根据目录下plugins/config.json.template生成plugins/config.json,详细的配置过程点这里,原文档很清晰明了,这里不多说了

1.4 运行
zsh 复制代码
python3 app.py

2.docker版本(需要docker环境)

2.1 拉取镜像
zsh 复制代码
docker pull  ghcr.io/zhayujie/chatgpt-on-wechat:latest

此时,镜像列表中多出一个镜像

配置参数

点击运行按钮,会出现弹窗:

名称随机,我们需要设置环境变量,即上述的参数,但是在做环境变量时,需要将key写成大写,例如:OPEN_AI_API_KEY

运行

点击运行按钮,即可运行。

登陆

运行之后会出现一个二维码,使用微信扫码即可完成登陆。扫码成功后日志会打印:Start auto replying.

测试

你可以使用对话测试,也可通过内置命令查看:

说明

  • tool插件是默认开启的,如果配置Link-Ai key和code的话默认打开文档总结,支持链接和微信卡片链接。
  • Link-Ai是根据会话Token收费的,但是可以通过积分免费使用。
  • 可以开启语音识别功能
  • 我用的是小号微信登陆的,在大号建立的会话窗口
  • 部分插件功能原作者还在开发测试调优中

好了,今天的分享就到这里了,感谢你的阅读,欢迎关注我的公众号:萌萌哒草头将军

相关推荐
刘大浪3 分钟前
vue.js滑动到顶便锁定位置
前端·javascript·vue.js
小金刚®9 分钟前
构建简洁之美:我的第一个前端页面
前端
ordinary901 小时前
指令-v-for的key
前端·javascript·vue.js
rpa_top1 小时前
RPA 助力电商:自动化商品信息上传,节省人力资源 —— 以影刀 RPA 为例【rpa.top】
大数据·前端·人工智能·自动化·rpa
新时代农民工--小明1 小时前
前端自动化部署更新,自动化打包部署
运维·前端·自动化
前端Hardy1 小时前
HTML&CSS:酷炫的3D开关控件
前端·javascript·css·3d·html
小马超会养兔子1 小时前
如何写一个数字老虎机滚轮
开发语言·前端·javascript·vue
乐闻x1 小时前
VSCode 插件开发实战(四):使用 React 实现自定义页面
ide·vscode·react.js
武昌库里写JAVA1 小时前
使用React Strict DOM改善React生态系统
数据结构·vue.js·spring boot·算法·课程设计
m0_672449601 小时前
前端(组件传参案例)
前端