VPS + FastGPT + Chatgpt-on-wechat,微信群接入知识库AI助理!保姆级教程,半天搞定
你好,我是清风徐来
这是《ChatGPT ,从入门到精通》 系列第 112 篇原创文章。
“未来几年,所有组织的管理、业务都将AI化,如何利用AI技术,是每一个管理者必须思考的问题”
企业信息库 AI 化,有着广泛的应用前景,包括内部知识库、售前咨询、售后客服。如果加上 AI 语音等多模态应用,前途不可限量
近期知识库 AI 软件层出不穷,FastGPT 就是一个优秀的代表
FastGPT 功能非常强大,我计划用 5、6 篇文章来介绍
节前,已经撰写了一篇《FastGPT,知识库 AI !保姆级教程,5 分钟上手》
本以为专业术语太多没人看,结果点击率奇高!还被 FastGPT 官方转载,据传用作新手教程,:)
今天就来详细讲讲如何将 fastgpt 接入微信群:
一、效果展示
1、需求分析
笔者是微信公众号“浩瀚的苍穹”主理人,原创、分享了很多 AI 和 Chatgpt 的工具和知识,至今已达 一百 多篇。
为了更好的让 AI 落地,找到应用场景,笔者组织了微信学习交流群(加入方式见文末),有很多高手,各行业的大咖,也有很多 AI 小白。
大家都很热情,每天都有很多提问
对于大家的提问,笔者都及时进行了回应,但随着群友提问的增多,回复往往不及时。有些问题,一些热心的网友也参与讨论答复,但这些讨论质量乘次不齐,需要归纳总结或有一个明确无误的指引作为基础
经过分析,我发现,群友提问有两个特点:第一,同质化,常见问题就百来个;第二,70%在公众号文章中都有相应的答案和详细介绍。
在人工答疑时,我需要做的只是把链接发给提问的群友,但是,这样也花费了较多的时间,你得一篇一篇去找,有时还得化繁为简的概述。
AI 存在的目的就是增效赋能,作为一个分享 AI 知识的博主,能否用 AI 来解决这个痛点?
还好,此类开源软件不少,我找了几款知识库软件,又找了几款接入微信群的软件,反复测试,终于找到了一个比较简单+稳定的实现架构,如下:
chatgpt-on-wechat+fastGPT! 前者打通微信群,后者对接知识库
我把这套框架应用在了好几个微信群,经过两周左右的测试,基本实现了最初的设想,打通了专有知识库和微信群。
使用场景:当有同学在微信群@ AI助理后(也可采用关键字触发),AI助理会自动回答对方提出的问题。
首先,AI 助理会到① 指定的知识库(我把“浩瀚的苍穹”文章训练成了知识库,训练方式详见《fastgpt 新手教程》中寻找答案,然后结合②LLM 的通识,综合给出答案,回答到微信群。AI助理回复的时间在根据提问难度,1-5 秒之间
① 与 ② 的比例,可以通过 fastgpt 后台进行控制,你可以完全让 AI 只回答指定知识库的内容,不自由发挥。
2、效果展示
实际使用案例如下:
(1)可以看到,AI 针对知识库进行了回答。并给出了访问链接。
(2)微信群迎新
AI 助理不仅可以基于专有知识库进行答疑,还可以“迎新”,引流到公众号!
同样的方法,可以接入普通微信群、企业微信群、飞书、钉钉、网站链接
应用场景包括:知识分享、企业制度答疑、销售前段答疑、售后答疑等,解决各种提问形成引流机制
这里还有一个小插曲,把 AI 助理放到群里后,很多同学很好奇,纷纷咨询如何把 AI 助理接入群,还有些直接动手邀请 AI 助理加入自己的群。
我在COW设置中没有指定限制某群,也忘了关 AI 助理微信号的被邀请设置,结果吃顿饭回来,发现 AI 助理已经被十几个其他群邀请,正在聊得热火朝天。其中一个叫“干饭群”,AI 助正在和群友讨论如何做菜,
这里其实也包含了一个场景,如果你是某个产品的厂商,你可以训练一个通用的 AI 售后助理,放到你指定的(数量不限)目标人群群里答疑。并指定 AI 助理严格按照售后知识库内容回答提问。
使用注意事项,见本文最后。
二、实操教程
(一)准备工作
主要步骤:
- 准备VPS服务器,用来跑 cow
- VPS服务器安装 cow 的 fastgpt docker镜像(fastgpt官方提供)
- 在 fastgpt 官方网站上准备一个知识库
- 接入微信群测试,并完善知识库
需要准备以下工具
- 准备一台互联网 VPS(虚拟服务器)
案例中,使用的亚马逊免费服务器
网址:aws.amazon.com/cn
- 准备一个或多个 AI 大模型的 API KEY
案例中,使用的是 GPT3.5
- 熟悉开源软件 fastgpt,在其官网注册一个账号,掌握基本用法
网址:fastgpt.run,基本用法见《fast新手教程》
- 熟悉开源软件 chatgpt-on-wechat
官网:github.com/zhayujie/chatgpt-on-wechat
chatgpt-on-wechat (cow) 项目是使用 ChatGPT 搭建的智能聊天机器人,在 GPT3.5/4.0 API 及 itchat 框架的基础上实现,支持个人微信、公众号、企业微信部署,能生成文本、语音和图片,访问操作系统和互联网。
COW 有四种部署方法,分别是:本地服务器、VPS(手动)、VPS(docker),案例中使用 Doker 部署。
- 准备知识库
你可以采用你公司的考勤制度、产品介绍,或者公开的公司介绍
- 准备一个微信账号
建议使用一个不常用的微信账号,用于 绑定 AI 助理。据说,有很小的概率会被封号,稳妥起见,使用小号。
下面讲讲具体如何实现
(二)注册服务器
本项目需要用到两台服务器,一台用来跑 fastgpt,一台用来跑 chatgpt-on-wechat(以下简称“COW”)
跑 fastgpt 的服务器,在本案例中不需要你准备!我们先直接使用 fastgpt 官方的网站。
运行 COW 的服务器按如下步骤操作:
1、购买或注册一个免费互联网服务器 VPS
服务器可以在本地,也可以在互联网,两者的区别是后者可以通过互联网访问,前者只能供局域网使用,应用场景受限。本文基于互联网服务器进行分析。
建议购买一个 VPS(虚拟专用服务器)
您可以选择购买腾讯的 VPS 服务器,或者申请亚马逊(甲骨文也可以,但申请难度大)的免费 VPS 服务器。确保服务器的性能和稳定性能满足您的需求。
(1)途径1:购买腾讯的服务器
地址: cloud.tencent.com
腾讯的云服务器分为:云服务器 CVM,轻量应用服务器。轻量应用服务器配置低一点,更便宜。
这个服务器是用来安装 chatgpt-on-wechat(以下简称 COW)的,轻量应用服务器 足够了。
- 配置
入门级别,2核CPU2G内存40G硬盘即可,腾讯云大概 30-40元/月
- 应用创建方式选择 docker
- 操作系统选择Linux的 Ubuntu
- 服务器所在区域建议选东京、新加坡,不要选香港
选择好以上选项,按步骤付款即可。
(2)途径2:注册免费的亚马逊服务器 EC2
亚马逊服务器可以免费申请 VPS服务器。
配置:1核CPU1G内存30G硬盘,可新建多个实例
①登录国内直达网址:aws.amazon.com/cn/free
界面如下:
② 先邮箱注册亚马逊账号
QQ邮箱就可以
③然后验证手机,填写资料(国内实际地址)
④验证信用卡
信用卡用来验证账户的,防止恶意注册,会扣5美元,几天内返回原账户,不会实际扣钱。
我用的是wildcard(支付宝直接支付),国内的双币种如中信、招商信用卡都可以
验证手机号码,完成AWS账户注册。如果等待10分钟以上都收不到短信,可以选择“语音呼叫”,你会接到来自AWS西雅图的电话(0012开头),根据电话语音内容输入验证码即可。
⑤申请免费计划
⑥等待审核
审核通过会有邮件通知:
⑦ 进入控制台,找到EC2
先把节点切换到亚洲
建议选择东京、新加坡或大阪
EC2就是免费的VPS服务器频道
- 找到后点击“启动实例”
- 选择免费计划
以下三张图设置好后 再点击右下角的“启动实例”
- 设置密匙对
- 设置防火墙和硬盘大小
卷大小就是 硬盘大小,默认8G,建议调为至少15G
上述设置好后启动实例,创建时间大概1-2分钟
记住,收藏实例这个页面到浏览器,下次直接打开
- 连接实例
点连接
用最简单的网站连接方式:
连接后如下:
如何注册,这里不赘述了,给大家找了个视频
零度解说的《薅羊毛!免费领取 AWS 服务器!搭建 V2ray 可实现秒开 4K 视频,速度超快》
写得非常详细,喂奶级。不过在我们这个案例中,视频看到 9:00 就可以了,后面步骤按我的介绍,操作更简单
https://www.ixigua.com/7199428977633526328?&&wid_try=1
系统要选择 ubuntu ,这个是 linux 的一个版本
新建实例后可以输入如下命令查看配置
sudo lshw
再强调几个注意事项:
- vps 服务器所在区域选日本或新加坡,不要选香港
- 信用卡验证:国内双币信用卡,或者之前升级 chatgpt plus 的 bewildcard(https://bewildcard.com/card?cardId=556)
- 账单地址按实际填写
- 不建议使用虚假信息,亚马逊全球云服务器排第一,防恶意撸羊毛技术很高,但是正常免费撸一台免费使用是允许的。
- 申请后不要长时间空置,否者会被收回。
- 一个 EC2 可以创建多个“实例”,一个“实例”=一台 VPS。免费用户合计硬盘不超过 30 个 G。
- ubuntu上操作,要熟悉一下,复制粘贴只能用鼠标,不支持快捷键。不懂就丢给GPT3.5,都可以很快给出答案。
(三)取得 API key
API 是 不同软件程序间的数据连通借口,API kEY 就是接口密码
微信对话机器人 cow 系统,是通过 fastgpt 对接 AI 和知识库的
涉及上述三个软件程序的数据连通,所以需要准备 两个 API KEY:一个 gpt3.5 的 API kEY; 一个 fastgpt 的 API key
微信群<-> COW(FastGPT的 API kEY)<-> FastGPT <->(gpt3.5 的 API kEY)chatgpt
1、取得 gpt3.5 的 API kEY
如果你有 chatgpt 的官网账号,官方会送你 3 个月 5 美元的gpt3.5的 AIP key
(1)默认开通,地址如下:
platform.openai.com
这个KEY务必保管好,如果要多次使用,可以另外找一个地方存起来,在上述界面,它只显示一次。遗忘了只有新建一个。
2、到 fastgpt 录入 openai 的 key
登录地址:fastgpt.run
注意!这里录入了,在COW的配置中,就不需要录入chatgpt的API key了
3、取得 fastgpt 的 API key
还是在 fastgpt 的账号里面,如下图,点击新建
注意,蓝色框那个也要复制备用
新建一个。额度填-1 表示无限制,使用时间为空表示使用时间无限制。
测试阶段,可以都按默认模式。
(四)配置 chatgpt-on-wechat 服务器
- chatgpt-on-wechat 是一个开源项目
在全球开源软件网站已经斩获 16.4K 颗星,成绩斐然
地址: github.com/zhayujie/chatgpt-on-wechat
官方介绍如下:
“使用 ChatGPT 搭建微信聊天机器人,基于 GPT3.5/GPT4.0/Claude/文心一言/讯飞星火/LinkAI,支持个人微信、公众号、企业微信部署,能处理文本、语音和图片,访问操作系统和互联网,支持基于知识库定制专属机器人。”
今天我们先介绍 COW 的基础功能,后面有机会再详细介绍高级应用。
COW 有四种部署方法:本地服务器、VPS 服务器(手动)、VPS 服务器(docker)、Railway 部署
我们选择 VPS 服务器(docker)部署
1、连接到亚马逊 VPS 服务器
用这个方式,不需要第三方 SSL 软件,直接在亚马逊网站连接即可
出现以下界面,表示链接成功
2、在服务器上安装 docker 软件
上面申请的亚马逊服务器 VPS,是一个干净的 linux 系统,需要进行配置
除了 docker,其他任何软件都不需要安装
(1)什么是 docker
docker,顾名思义,容器。是最近比较流行的一种互联网开源软件项目安装方法
为什么要安装 docker?安装软件,最怕的就是配置环境和安装各种配置包
而“使用 docker 部署无需下载源码和安装依赖,只需要获取 docker-compose.yml 配置文件并启动容器即可。
前提是需要安装好 docker 及 docker-compose
(2)安装 docker
这里,我建议你打开 AI 软件,每一步安装,有报错,就把代码复制给 AI,让它回答,类似于旁边站了个指导老师
打开 GPT3.5
问:“如何在 Ubuntu 安装 doker?”
AI 会给一个步骤,如下
你按上述步骤安装,过程中,会有报错,你把报错复制给 AI,AI 会指导你继续安装
安装有十多步,我单独成文,具体看《在 ubuntu 系统中 安装 docker》
安装成功的表现是执行 docker -v 和 docker compose version (或 docker-compose version) 可以查看到版本号,如下:
3、创建 docker-compose.yml 文件
docker-compose.yml 是 docker 容器安装的核心文件,COW 官方网站会要求你 直接通过命令 pull cow 的 yml 文件
但是我们这里采用 fastgpt 配置 COW 的方法,手工创建
再次提示,整个过程,都可以使用 AI 做为辅导,不懂就问 GPT
(1)创建docker-compose.yml 文件
在服务器命令输入行输入如下命令
touch docker-compose.yml
在服务器上创建一个空的 docker-compose.yml 文件
创建后,输入 ls 查看
可以看到,docker-compose.yml 已经创建
不过这个时候是空的,需要复制内容上去
(2)编辑 docker-compose.yml
使用文本编辑器打开 docker-compose.yml 文件
nano docker-compose.yml
打开后界面如下,空空如也
(3)复制代码
复制以下代码到打开的docker-compose.yml文件
复制前,先按后面的抓图,修改相应内容
必须修改的字段包括:OPEN_AI_API_KEY、 GROUP_NAME_WHITE_LIST
注意,直接连接服务器的文本编辑器不支持键盘的快捷键,不能使用 ctrl+c ,v
只能用鼠标右键复制、粘贴
要手动修改,必须用键盘上下移动
修改好后 ,按键盘快捷键 Ctlr+X 退出
系统会提示是否修改,按 y
是否覆盖源文件,按 y
上述操作多操作几次,就掌握了
version: '2.0'
services:
chatgpt-on-wechat:
image: zhayujie/chatgpt-on-wechat
container_name: chatgpt-on-wechat
security_opt:
- seccomp:unconfined
environment:
OPEN_AI_API_KEY: 'fastgpt-64MlKD2ynaZ8B1Yd9aZFpiAzxyOLYXTlWnRDT'
OPEN_AI_API_BASE: 'https://fastgpt.run/api/v1'
MODEL: 'gpt-3.5-turbo'
CHANNEL_TYPE: 'wx'
PROXY: ''
HOT_RELOAD: 'False'

SINGLE_CHAT_REPLY_PREFIX: '"[bot] "'
GROUP_CHAT_PREFIX: '["@bot"]'
GROUP_NAME_WHITE_LIST: '["ALL_GROUP"]' #默认所有群可以填写 ["ALL_GROUP"]
IMAGE_CREATE_PREFIX: '["画", "看", "找"]'
CONVERSATION_MAX_TOKENS: 1000
SPEECH_RECOGNITION: 'False'
CHARACTER_DESC: '你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。'
SUBSCRIBE_MSG: '感谢您的关注!\n这里是ChatGPT,可以自由对话。\n支持语音对话。\n支持图片输入。\n支持图片输出,画字开头的消息将按要求创作图片。\n支持tool、角色扮演和文字冒险等丰富的插件。\n输入{trigger_prefix}#help 查看详细指令。'
EXPIRES_IN_SECONDS: 3600
USE_GLOBAL_PLUGIN_CONFIG: 'True'
USE_LINKAI: 'False'
LINKAI_API_KEY: ''
LINKAI_APP_CODE: ''
配置说明
- "open_ai_api_key": "YOUR fastgpt API KEY",
填入上面创建的 OpenAI API KEY。
再次提示,是 fastgpt 网站中取得的 API KEY,不是 openai 的原生 key;openai 的原生 key 要填到 fastgpt 网站中,此处填的 YOUR fastgpt API KEY 才生效
- "model": "gpt-3.5-turbo",
模型名称, 支持 gpt-3.5-turbo, gpt-3.5-turbo-16k, gpt-4, wenxin, xunfei - "proxy": "",
代理客户端的 ip 和端口,国内环境开启代理的需要填写该项,如 "127.0.0.1:7890" - "single_chat_prefix": ["bot", "@bot"],
私聊时文本需要包含该前缀才能触发机器人回复
个人聊天中,需要以 "bot"或"@bot" 为开头的内容触发机器人,对应配置项 single_chat_prefix (如果不需要以前缀触发可以填写 "single_chat_prefix": [""])
- "single_chat_reply_prefix": "[bot] ",
私聊时自动回复的前缀,用于区分真人
机器人回复的内容会以 "[bot] " 作为前缀, 以区分真人,对应的配置项为 single_chat_reply_prefix (如果不需要前缀可以填写 "single_chat_reply_prefix": "")
- "group_chat_prefix": ["@bot"],
群聊时包含该前缀则会触发机器人回复 - "group_name_white_list": ["ChatGPT 测试群", "ChatGPT 测试群 2"],
开启自动回复的群名称列表;群组聊天中,群名称需配置在 group_name_white_list 中才能开启群聊自动回复。如果想对所有群聊生效,可以直接填写 "group_name_white_list": ["ALL_GROUP"]
- "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 训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。",
人格描述,这句很关键,是你给 AI 的人设,可以按需要修改
- "subscribe_msg": "感谢您的关注!\n 这里是 ChatGPT,可以自由对话。\n 支持语音对话。\n 支持图片输出,画字开头的消息将按要求创作图片。\n 支持角色扮演和文字冒险等丰富插件。\n 输入{trigger_prefix}#help 查看详细指令。",
- "use_linkai": false,
按 ctl +X 退出
(4)启动 docker
启动 docker
sudo docker compose up -d
第一次启动比较慢,有个安装过程,如下:
等到所有都“complete”,显示
Container chatgpt-on-wechat Started
就表示安装完成了
(5)启动二维码
输入代码:
sudo docker logs -f chatgpt-on-wechat
出现二维码,用微信扫二维码即可
你扫码的微信账号就变成了机器人
可以看到有“Start auto replying”的提示
如果启动二维码失败,把提示贴给GPT,按它的说明配置
(6)与AI对话
这个时候,你可以另外用一个微信和 AI 机器人的微信对话,如下:
可以看到,第一次问候的时候,机器人没有触发,是因为.yml 文件里面设置了触发词“bot”,你必须在每个对话前增加@bot,才能触发AI机器人
SINGLE_CHAT_PREFIX: '["bot", "@bot"]'
如果如下设置,则不需要加前缀
SINGLE_CHAT_PREFIX: '[""]'
在服务器界面,可以看到有对话记录
这个时候,你可以关掉亚马逊的浏览器界面了,服务器会一直运行
(7)停止容器
如果没有出现输入行,则按 ctrl+C
停止容器,输入如下命令
sudo docker compose down
根据两周多的经验,我发现2-3天,COW会自动停止,这时候
只需要停止容器,重新执行(4)-(5)步即可
(五)配置知识库
如果只是完成第(一)到(四)步
AI助理只能基于通识回答你的问题
如果要依据专有知识库,必须结合 知识库开源软件,如 fastgpt
1、fastgpt基础使用
如何注册、具体使用、如何训练知识库,详见《FastGPT,知识库 AI !保姆级教程,5 分钟上手》,这里不赘述了
2、微调知识库
根据用户群的反馈,您可以在 fastgpt 中进行相应的设置微调,以提供更好的服务。
可以微调的内容包括提示语、与知识库关联度。
至此,将知识库 fastgpt 与微信群打通。
三、答疑
1、数据库索引模型选哪个好?
Embedding-2、M3E
我开始用的M3E,实测效果不好,就重新训练了Embedding-2
效果不好,在其他设置相同的情况下,感觉M3E索引的数据回答不够智能
2、如何配置微信群迎新?
在“Fastgpt网站” -> "应用" -> "AI配置" ->"提示词"中设置
提示词中可以放重要信息,或链接引流
3、 如何优化知识库
上线前可以先小范围测试
实际运用中,根据知识库定位+用户反馈进行优化
用户的提问千奇百样
比如,定位在内部制度答疑,就要尽量减少AI的自由发挥
4、使用成本?
使用成本包括人力成本、服务器成本、训练成本、LMM API KEY 成本
我上线后,最高一天 API key 扣了 2美元
(1)模型尽量选经济实惠的GPT3.5
(2)控制回复上限和单次搜索次数
0-4000字。根据实际情况设置回复上限。
(3)对一些通用性问题,有答案的,可以给一个相关文章的静态链接
5.如何控制知识库范围?
“相似性”参数控制,1,完全按知识库回答。实测0.7-0.85效果比较好。
6、哪个应用模版较好?
微信群都差不多,如果接入公众号 “知识库+对话引导”比较好
7、AI助理如何更换应用?
每一个应用对应一个APIKEY,在.yml文件中修改key值,完成更换
8、可以使用国产大模型么?
答:可以。FastGPT 只配置了 GPT 的 3 个模型,如果你需要接入其他模型,需要进行一些额外配置,使用另一个开源软件one API。详见官网。
9、可以完全独立部署么?数据库、LLM大模型都在局域网?
答:可以。支持清华的 ChatGLM2 ,显存16G,内存16G。详见fastgpt官网。
doc.fastgpt.run/docs/custom-models/chatglm2-m3e
FastGPT 功能还有很多,应用前景很广阔,今天先介绍到这里!
原创不易,欢迎转发、分享
如果你想学习 AI 知识,欢迎加入我们的学习群。
请后台发送“入群”或扫描下方二维码进入学习群
保姆级教程!手把手教你用支付宝开通 ChatGPT plus!
可视化!用 GPT4 十分钟内完成泰坦尼克号生存分析
起来,挑战 GPT 霸权!12 款国产 AI 横向评测
国内直联 GPT!清风 AIchat 手把手教程
AI 之王,GPT-5 来了!
全部文章
本文由mdnice多平台发布
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。