大家好,我是Edison。

之前学习了Coze这个AI Agent智能体开发台创建了一些Agent,除了可以将其发布到微信公众号做对话机器人之外,我看到了许多直接将其集成到微信对话或群聊中的案例。

刚好我对这个话题比较感兴趣,因此也尝试将Coze AI Bot接入到了微信,今天就和你分享下如何弄的吧。

前提条件

为了实现今天的实践,你需要以下基本条件:

  • 一台轻量级的云服务器(1C2G 或 2C2G都可以),安装了docker和docker compose这两个基础服务
  • 有Coze的账号,且创建了一个Bot
  • 一个微信小号(不建议使用个人大号防止被封,而且小号需要绑定手机认证过)

接下来就开始正式的步骤吧。Coze中发布你的AI 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助手之后,会有不一样的对话体验。

需要注意的是:这不是目前微信官方推荐或认可的方式,所以尽量不要使用自己的大号,而且也别让小号一直挂着,玩玩就行了,不要太认真。真要将其用到自己的业务中,建议走企业微信 或 微信客服 等官方认可的方式。

参考资料

画小二,让Coze智能体接入微信和微信群详细配置文档

胡辣汤淹水煎包,《ChatGPT on WeChat:技术介绍与部署指南

程序员安仔,《Coze AI机器人接入我的微信群了

作者:周旭龙

出处:https://edisonchou.cnblogs.com

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。

将AI Bot接入微信,做AI对话机器人的更多相关文章

  1. 为什么很多国内公司在做 AI 芯片?

    据网上搜到的新闻报道,截止2019年,已经有20家企业投入到 AI 芯片的研发中,其中有很多厂商的芯片已经流片甚至商用了.为何有这么多公司在做AI芯片呢?简单来讲就是四个字:有利可图.具体来说有以下三 ...

  2. 线程安全使用(四) [.NET] 简单接入微信公众号开发:实现自动回复 [C#]C#中字符串的操作 自行实现比dotcore/dotnet更方便更高性能的对象二进制序列化 自已动手做高性能消息队列 自行实现高性能MVC WebAPI 面试题随笔 字符串反转

    线程安全使用(四)   这是时隔多年第四篇,主要是因为身在东软受内网限制,好多文章就只好发到东软内部网站,懒的发到外面,现在一点点把在东软写的文章给转移出来. 这里主要讲解下CancellationT ...

  3. 在Web应用中接入微信支付的流程之极简清晰版

    在Web应用中接入微信支付的流程之极简清晰版 背景: 在Web应用中接入微信支付,我以为只是调用几个API稍作调试即可. 没想到微信的API和官方文档里隐坑无数,致我抱着怀疑人生的心情悲愤踩遍了丫们布 ...

  4. 在Web应用中接入微信支付的流程之极简清晰版 (转)

    在Web应用中接入微信支付的流程之极简清晰版 背景: 在Web应用中接入微信支付,我以为只是调用几个API稍作调试即可. 没想到微信的API和官方文档里隐坑无数,致我抱着怀疑人生的心情悲愤踩遍了丫们布 ...

  5. 第二篇 :微信公众平台开发实战Java版之开启开发者模式,接入微信公众平台开发

    第一部分:微信公众号对接的基本介绍 一.填写服务器配置信息的介绍 登录微信公众平台官网后,进入到公众平台后台管理页面. 选择 公众号基本设置->基本配置 ,点击“修改配置”按钮,填写服务器地址( ...

  6. Android 第三方应用接入微信平台(2)

    微信平台开放后倒是挺火的,许多第三方应用都想试下,毕竟可以利用微信 建立起来的关系链来拓展自己的应用还是挺不错的,可以节约很多在社交方 面的开销,我最近由于实习需要也在研究这个东西,不过发现网上的相关 ...

  7. Android 第三方应用接入微信平台(1)

    关键字:微信开放平台   Android第三方应用接入微信 微信平台开放后倒是挺火的,许多第三方应用都想试下接入微信这个平台, 毕竟可以利用微信建立起来的关系链来拓展自己的应用还是挺不错的,可 以节约 ...

  8. ios应用接入微信开放平台

    前几天试了一下服务端接入微信公众平台,昨天又看了一下APP接入开放平台 开放平台和公众平台的差别 公众平台针对的是公众账号,除了提供管理后台之外.也开放了若干接口,让微信server和开发人员自己的应 ...

  9. 1.Node.js 接入微信公众平台开发

    一.写在前面的话   Node.js是一个开放源代码.跨平台的JavaScript语言运行环境,采用Google开发的V8运行代码,使用事件驱动.非阻塞和异步输入输出模型等技术来提高性能,可优化应用程 ...

  10. 前后端分离djangorestframework—— 接入微信模板消息推送

    微信 什么是微信也不多说,跟前面的支付宝一样的 微信支付 微信支付也有个沙箱环境,沙箱环境官方文档 由文档中那句很显眼的话所得,即使是测试环境也需要真实的商户号,所以这个就没法想支付宝那样用沙箱账号来 ...

随机推荐

  1. api使用流程、Scanner键盘录入字符串

    1.api介绍 2.api使用流程 API帮助文档的使用流程 在索引位置搜索自己要查看的类 看包 目的: 是不是java.lang包(核心包), 不需要编写导包代码(import) - 不是java. ...

  2. 【Guava】集合工具类-Immutable&Lists&Maps&Sets

    Immutable 如<Effective Java>Item1)所述,在设计类的时候,倾向优先使用静态工厂方法(static factory method)而非构造函数(construc ...

  3. unigui如何直接显示一个PDF文件【13】

    这个问题有点搞笑. PDF.js v1.9.426 (build: 2558a58d) 信息:Unexpected server response (204) while retrieving PDF ...

  4. ZKmall开源商城iOS 与安卓双端开发:如何平衡 B2B2C 商城的代码复用与性能

    在ZKmall开源商城的iOS与安卓双端开发中,平衡B2B2C商城的代码复用与性能是一个关键考量.以下是一些建议和实践方法,以实现这一目标: 一.架构分层设计:解耦与复用 1. 分层架构模型 merm ...

  5. 如何应对ADAS/AD海量数据处理挑战?

    随着软件定义汽车的发展,车辆生成的数据量也以前所未有的速度不断增加.这些数据包含广泛的信息,包括传感器数据.遥测数据.诊断数据等.在开发过程中,有效处理这些数据并从中获得见解至关重要. 对于原始设备制 ...

  6. 探秘Transformer系列之(28)--- DeepSeek MLA

    探秘Transformer系列之(28)--- DeepSeek MLA 目录 探秘Transformer系列之(28)--- DeepSeek MLA 0x00 概述 0x01 原理 1.1 问题 ...

  7. 【深入解析AQS】从设计模式到ReentrantLock实现再到自定义锁

    深入解析AQS:设计模式.ReentrantLock实现与自定义锁开发 一.模板方法模式:AQS的架构基石 1.1 模式核心思想 模板方法模式通过固定算法骨架+可变实现细节的设计,实现了代码复用与扩展 ...

  8. 【笔记】Python3|爬虫请求 CSRF-Token 时如何获取Token、Token过期、处理 CSRF-Token 需要注意的问题及示例

      CSRF-Token 机制是 Web 应用程序中常用的安全机制,它可以防止跨站请求伪造攻击,但会给爬虫造成一定的困扰.本文将介绍在使用 Python3 爬虫时,处理 CSRF-Token 机制需要 ...

  9. 【ROS】5.1 ARP攻击Turtlebot3汉堡Burger并解析移动报文

    原视频 ARP攻击 实验环境推荐:Linux虚拟机×2:Ubuntu 20.04或18.04或kali,被攻击机安装好ROS: 提升能力环境推荐:不同真机下的Linux虚拟机×2:Ubuntu 20. ...

  10. [随记]-linux侦听端口的4种方法

    侦听 192.168.0.1 服务器上的 10086 端口是否打开 1. telnet telnet是windows 内置的功能,当然 linux 也有.用法:  tenlet 192.168.0.1 ...