将AI Bot接入微信,做AI对话机器人
大家好,我是Edison。
之前学习了Coze这个AI Agent智能体开发台创建了一些Agent,除了可以将其发布到微信公众号做对话机器人之外,我看到了许多直接将其集成到微信对话或群聊中的案例。
刚好我对这个话题比较感兴趣,因此也尝试将Coze AI Bot接入到了微信,今天就和你分享下如何弄的吧。
前提条件
为了实现今天的实践,你需要以下基本条件:- 一台轻量级的云服务器(1C2G 或 2C2G都可以),安装了docker和docker compose这两个基础服务
- 有Coze的账号,且创建了一个Bot
- 一个微信小号(不建议使用个人大号防止被封,而且小号需要绑定手机认证过)
这里假设我们在Coze中创建了一个MES系统运维助手,我们为其设置了人设和回复逻辑,还给它添加了一个小知识库(基于csv格式的过往系统Ticket记录),同时还添加了一个数据库来记录用户提出的新Ticket。它的作用就是,当用户向它报告遇到的MES系统问题或报错信息时,它会从过往的Ticket记录中找到类似的处理记录和解决方案快速告知用户,如果没有找到 或者 找到的没有满足 用户的需求,会引导用户快速创建一个Ticket并存入数据库供IT工程师后续处理。
具体内容,我这里就不赘述了,有兴趣的童鞋可以好好阅读下《基于Coze创建AI Agent》来了解如何基于Coze创建AI助手。
为了能够用到这个AI助手,我们需要发布一下它:这里我们选择发布为API
如果是第一次发布,你还需要进行以下配置,点击“配置”按钮进入令牌管理界面,创建一个新令牌。
创建完成后,请将生成的Token(pat- 开头的一串字符)记录下来,因为后面就看不到了。
此外,再记录一下你的AI Bot的ID号,它在你的coze AI bot的url中,如下图中圈中的部分:
综述,你现在已经完成了AI Bot的发布API操作,获取到了两个重要的参数:
-
Bot ID
-
Coze API Token
个人云服务器配置
假设我们有一台云服务器(2C2G),Linux CentOS系统,已经安装了docker 和 docker-compose 两个基础服务组件。为了更好地管理容器,这里建议安装一个宝塔Linux面板,安装方式如下:
wget -O install.sh https://download.bt.cn/install/install_lts.sh && bash install.sh ed8484bec
安装完成后获取到用户名和密码,然后就可以打开宝塔面板进行登录了,默认端口号是19302,打开浏览器访问如下图所示:
部署chatpgt-on-wechat项目chatgpt-on-wechat (cow)
项目是使用 ChatGPT 搭建的智能聊天机器人,在 GPT3.5/4.0 API 及 itchat 框架的基础上实现,支持个人微信、公众号、企业微信部署,能生成文本、语音和图片,访问操作系统和互联网。chatpgt-on-wechat支持多种部署模式,这里我们选择最简单的docker部署方式。你可以基于下面的docker-compose.yml文件进行修改:
version: "2.0" services: siemo-ai-bot: image: zhayujie/chatgpt-on-wechat container_name: siemo-ai-bot restart: always security_opt: - seccomp:unconfined environment: OPEN_AI_API_KEY: "pat_v4sqsXleDLruN7G************" # 这里改为你的Coze API Token MODEL: "" # 留空即可 OPEN_AI_API_BASE: "http://coze2openai:3000/v1" # 请不要修改此参数值 PROXY: "" # 留空即可 SINGLE_CHAT_PREFIX: '[""]' SINGLE_CHAT_REPLY_PREFIX: '"[AI回复] "' # 建议不修改 GROUP_CHAT_PREFIX: '["@西小莫AI助手"]' # 这里改为你的微信小号的昵称 GROUP_NAME_WHITE_LIST: '["西小莫GPT测试群", "EdisonTalk交流群"]' # 这里改为你想要AI对话的群组名称 IMAGE_CREATE_PREFIX: '["Drawing"]' # 请不要修改此参数值 CONVERSATION_MAX_TOKENS: 1000 # 请不要修改此参数值 SPEECH_RECOGNITION: "False" # 请不要修改此参数值 CHARACTER_DESC: "你是基于大语言模型的AI机器人,旨在回答并解决用户在使用MES系统时遇到的问题,并且可以使用多种语言与人交流。" # 按需修改 EXPIRES_IN_SECONDS: 3600 # 请不要修改此参数值 USE_GLOBAL_PLUGIN_CONFIG: "True" # 请不要修改此参数值 USE_LINKAI: "False" # 请不要修改此参数值 LINKAI_API_KEY: "" # 请不要修改此参数值 LINKAI_APP_CODE: "" # 请不要修改此参数值 coze2openai: image: andywuwu/coze2openai container_name: coze2openai restart: always ports: - "3000:3000" environment: - BOT_ID=744455************ # 这里改为你额Bot ID - COZE_API_BASE=api.coze.cn # 请不要修改此参数值
这里解释下上面的文件:
-
这里定义了两个要运行的服务,一个是chatgpt-on-wechat,另一个是coze2openai,这是因为coze api并不是严格按照openai标准格式来定义的,所以我们需要运行一个coze2openai的服务来进行适配转发。因此,请不需要修改OPEN_AI_API_BASE 这个变量值。
-
在设置 PREFIX 这类变量时,建议跟微信小号的昵称保持一致,等到完全跑通之后再慢慢修改,否则会阻碍你的实践过程。
有了上面的理解,我们就可以将其部署到服务器中了。这里我们借助宝塔面板来操作,下面是详细的操作步骤:
第一步,添加一个编排模板。
第二步,将内容复制进去并添加备注。
第三步,添加容器编排 并 启动该容器编排。
然后,你就可以看到两个服务的启动状态了:
在ai-bot的日志中找到二维码,使用你的微信小号进行登录:
愉快测试
私聊:
群聊:
小结
本文介绍了如何将Coze AI Bot接入微信实现AI对话机器人的过程,相信你的微信群里 有了这样一位AI助手之后,会有不一样的对话体验。
需要注意的是:这不是目前微信官方推荐或认可的方式,所以尽量不要使用自己的大号,而且也别让小号一直挂着,玩玩就行了,不要太认真。真要将其用到自己的业务中,建议走企业微信 或 微信客服 等官方认可的方式。
参考资料
胡辣汤淹水煎包,《ChatGPT on WeChat:技术介绍与部署指南》
程序员安仔,《Coze AI机器人接入我的微信群了》
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
2023-12-11 .NET Conf 2023 Chengdu - 成都站圆满结束!
2014-12-11 自己动手写游戏:坦克撕逼大战