欢迎光临
我们一直在努力

保姆式教程,搭建属于自己的微信AI小助手

部署架构图

来个思路图,其实这个搭建全程很简单。不要看图上面显示的很复杂,其实只要完成3点就行。

  1. 搭建OneAPI,这东西是为了汇聚整合多种大模型接口,方便你后面更换使用各种大模型。下面会告诉你怎么去白嫖大模型接口。
  2. 搭建FastGpt,这东西就是个知识库问答系统,你把知识文件放进去,再把上面的大模型接进来,作为分析知识库的大脑,最后回答你问题,这么个系统。如果你不想接到微信去,自己用用,其实到这里搭建完就OK了,他也有问答界面。
  3. 接入微信,这里会用到个工具智能微秘书,就是为了方便配置FastGpt,把知识库问答系统接入到微信,这里建议先用个小号,接入个人微信。因为接企业微信好像要花钱。

完成上面3步就算OK了,那我们正式开始。

准备工作

  1. 领免费云服务器

    • 阿里、腾讯对【新用户】提供免费试用服务器的。可以去官网获取,阿里云的服务器ECS、腾讯云的轻量应用服务器(官网提供的试用规格服务器已够用了),到期后想续费也行,他们官网定期会有优惠,这个看大伙需求了。
    • 规格配置参考见下图,但要选择【宝塔】系统。后面我都会以这个操作系统来搭建上面说到的工具。

  1. 领免费大模型接口(阿里大模型3.18日起开始收费)

注意:阿里大模型3.18日起开始收费

  • 阿里的通义千问大模型接口,他也有文档说明、其实就是注册登录阿里云账号(记得实名哦),然后打开链接,创建个APIkey。下面是我创建的和我已经使用的模型情况。

 

  • 智谱AI(ChatGLM)、科大讯飞(SparkDesk),也有免费接口,但是限制了一定的Token额度,超了要花钱。有需要也可以先去官网领取免费的额度。
  • 谷歌的Gemini大模型(gemini 1.0 pro),好处是免费而且还能图片识别分析,坏处是要能链接外网的服务器(我还不会),当然你买了梯子的话就直接注册个谷歌邮箱去登录,去网页上体验下。等我去研究下外网服务器的问题后,再让它来充当我们知识库的大脑吧,哈哈。

搭建FastGpt

我自己之前申请了一台免费的腾讯云,下面我就在腾讯云的服务器上操作,阿里云的菜单位置可能不太一样,对应的找下就行,操作步骤完成一样哦。

  1. 给云服务器安装宝塔系统,刚刚领取服务器的时候,应该一并安装好了。
  2. 然后在“应用管理”菜单中,点击登录,然后复制命令sudo /etc/init.d/bt default,获取宝塔系统的账号和密码。

  1. 这里看见地址里有8888的端口号,我们先去把云服务器的防火墙开下,不然可能打不开网页链接、顺便把后面几个需要用到的端口都打开了。如图操作(防火墙>添加规则)

 

  1. 复制“外网面板地址”登录,然后首次进入会有个快速安装的界面,只选择Nginx、mysql安装就行,然后去【软件商城】搜索Docker并安装。这些软件都要安装成功哦,这些是部署上面工具的重要基石。

 

  1. 打开左侧【终端】,首先验证下Docker是否安装成功。看见版本号,就是安装成功了。

 

  1. 然后还在【终端】,复制粘贴下面的4条命令,依次执行。执行完后在【文件】菜单的root目录下出现个fastgpt的文件夹,文件夹里下载下来了2个配置文件docker-compose.ymlconfig.json有时候网络的问题,可手动创建一个fastgpt目录,并下载2个链接的文件,手动上传上去也行的(看截图中有“新建”“上传”按钮,可手动完成)
mkdir fastgpt
cd fastgpt
curl -O https://raw.githubusercontent.com/labring/FastGPT/main/projects/app/data/config.json
curl -O https://raw.githubusercontent.com/labring/FastGPT/main/files/deploy/fastgpt/docker-compose.yml

注意:感觉官网这2链接的文件配置经常变动,我把我配置好的文件供大家下载,不然会导致执行下面mongo初始化命令时,账号密码报错。docker-compose.yml和config.json下载链接:https://pan.baidu.com/s/1XaZ5azaCr_3ynLmnD7AncQ?pwd=6666 或者也可安照官网最新方式部署,官网文档第四步开始

 

  1. 回到【终端】菜单,依次执行下面命令。
# 进入项目目录
cd fastgpt
# 创建 mongo 密钥
openssl rand -base64 756 > ./mongodb.key
# 600不行可以用chmod 999
chmod 600 ./mongodb.key
chown 999:root ./mongodb.key
# 启动容器
docker-compose pull
docker-compose up -d

执行成功会显示如下图。首次执行docker-compose pull可能会需要点时间,他会下载“mongo”“pg”“fastgpt”这几个项目。

 

  1. 初始化 Mongo,不然打开FastGPT页面,登录时就会报错。执行如下命令初始化。
# 查看 mongo 容器是否正常运行
docker ps
# 进入容器
docker exec -it mongo bash

# 连接数据库
mongo -u myname -p mypassword --authenticationDatabase admin

# 初始化副本集。如果需要外网访问,mongo:27017 可以改成 ip:27017。但是需要同时修改 FastGPT 连接的参数(MONGODB_URI=mongodb://myname:mypassword@mongo:27017/fastgpt?authSource=admin => MONGODB_URI=mongodb://myname:mypassword@ip:27017/fastgpt?authSource=admin)
rs.initiate({
  _id: "rs0",
  members: [
    { _id: 0, host: "mongo:27017" }
  ]
})
# 检查状态。如果提示 rs0 状态,则代表运行成功
rs.status()

这里执行docker ps时注意下,要查看 mongo 容器是否正常运行。如果有报错就去【Docker】菜单的“容器”按钮,查看下mongo的状态,没有运行的话,在它那栏点击右键,会有启动按钮,启动下就OK,然后去执行上面没完成的命令,最后提示 rs0 就是OK了。如图

 

  1. 访问 FastGPT,目前可以通过 公网ip:3000 直接访问(注意防火墙)。登录用户名为 root ,密码1234其实这里的账号密码是之前下载的docker-compose.yml 环境变量里设置的 DEFAULT_ROOT_PSW,所以后面想修改密码,打开FastGPT页面后也能操作 这里的ip就是云服务的公网IP,在腾讯云的页面上能看到(如图),最后拼成这样的地址去打开登录000.000.000.000:3000

 

  1. OK,FastGPT的搭建就完成了。如果有什么搭建上的问题,也可以参考fastgpt的官方文档。现在只是把知识库平台搭建好了,接下来要给知识库去接通大脑,能用AI来回答我们。请看下面。

搭建OneAPI

  1. 到【终端】菜单,执行以下命令,建议直接用使用 SQLite 的部署命令就可以了。
# 使用 SQLite 的部署命令:
docker run --name one-api -d --restart always -p 3001:3000 -e TZ=Asia/Shanghai -v /home/ubuntu/data/one-api:/data justsong/one-api

# 使用 MySQL 的部署命令,在上面的基础上添加 `-e SQL_DSN="root:123456@tcp(localhost:3306)/oneapi"`,请自行修改数据库连接参数,不清楚如何修改请参见下面环境变量一节。
# 例如:
docker run --name one-api -d --restart always -p 3001:3000 -e SQL_DSN="root:123456@tcp(localhost:3306)/oneapi" -e TZ=Asia/Shanghai -v /home/ubuntu/data/one-api:/data justsong/one-api

其中,-p 3001:3000 中的第一个 3001 是宿主机的端口,可以根据需要进行修改(记得防火墙那也要修改哦),但不要改为3000,因为刚刚FastGpt已经用了,会有冲突的。

如果网络问题导致上面的镜像无法拉取下来,可以尝试使用 GitHub 的 镜像,将命令后面的的 justsong/one-api 替换为 ghcr.io/songquanpeng/one-api 即可。部署如有问题可以看下OneAPI文档

    1. 这时就部署完成,可以公网ip:3001打开oneAPI的页面了。初始账号用户名为 root,密码为 123456

 

    1. 还记得刚刚让你们白嫖的大模型API吗?阿里的通义千问大模型接口,这时要派上用场了,去阿里模型的链接里创建ApiKey,并复制下来。然后在OneAPI的页面,点击【渠道】添加新渠道。

添加时,类型选择阿里通义千问,名称自己取个,类型选择好后模型是会默认加进去,你不用删减,还有就把刚刚阿里那复制的ApiKey粘贴到秘钥里去。这样就OK了。后续有其他的大模型也是一样的添加方式。

 

    1. 然后,要创建OneApi的令牌,点击【令牌】添加新令牌

这里名称可以自己取个,时间设为永不过期、额度设为无限额度。提交OK。

这时【令牌】中就有你添加的了,点击复制,得到令牌。

 

5.OneApi设置的额度有点少,我们手动改下,怕后面因为额度的问题导致不能使用,点击编辑,给自己多加几个0,然后提交OK。见图

 

6.OneApi这的部署就完成,现在我们要去给FastGpt去装上大脑

配置FastGpt

    1. 回到宝塔系统【文件】菜单,我们要修改2个文件docker-compose.yml 和config.json(文件路径root>fastgpt)2.首先修改docker-compose.yml 中的 OPENAI_BASE_URL (API 地址:改为云服务的http://内网IP:3001,需要加/v1,最后格式见图中)和 CHAT_API_KEY (API 凭证,改为刚刚让你在OneApi复制的令牌,也是sk开头的)。其他都不用改,然后保存关闭。内网IP在云服务上能查询到,如图。3.然后就是修改config.json 中的"llmModels"(添加阿里大模型qwen-max) 和"vectorModels"(阿里向量模型text-embedding-v2,使用知识库功能时要用到的),然后保存关闭。如下代码。

 

 

"llmModels": [
    {
      "model": "qwen-max",
      "name": "qwen",
      "maxContext": 16000,
      "maxResponse": 4000,
      "quoteMaxToken": 13000,
      "maxTemperature": 1.2,
      "charsPointsPrice": 0,
      "censor": false,
      "vision": false,
      "datasetProcess": false,
      "toolChoice": false,
      "functionCall": false,
      "customCQPrompt": "",
      "customExtractPrompt": "",
      "defaultSystemChatPrompt": "",
      "defaultConfig": {}
    }
  ],
  "vectorModels":  [
    {
      "model": "text-embedding-ada-002",
      "name": "Embedding-2",
      "charsPointsPrice": 0,
      "defaultToken": 700,
      "maxToken": 3000,
      "weight": 100
    },
    {
      "model": "text-embedding-v1",
      "name": "qwen-Embedding-1",
      "charsPointsPrice": 0,
      "defaultToken": 700,
      "maxToken": 3000,
      "weight": 100
    }
  ],

4.修改好了内容,就要重新启动下,让他生效。直接在【文件】菜单下的fastgpt目录,打开终端,执行启动命令docker-compose up -d,如图

 

5.到这里,我们的知识库就装上AI的大脑了,剩下的就是去接入微信了。但这之前我们体验下知识库的功能,跟AI对对话,看看是否Ok。打开公网ip:3000进入fastgpt。新建个应用,这里不多说了根据界面来就行。看图示例,OK成功了,用的就是阿里的通义千问AI模型(qwen-max不花钱的接口哦)。

那我想根据我自己的知识库内容来回答问题,要怎么操作?

在知识库这个菜单新建知识库,看到新建时有2个模型选项了吧,在刚刚配置config.json时,我提到向量模型,就是这里的索引模型的选项,没有他知识库功能用不了哦。如图

然后我们上传文件或者写入信息都是可以的,我示范下,最后文本状态是“已就绪”就是OK了,我们去验证下

 

 

6.回到刚刚创建的应用,关联上创建的知识库。看下没有知识库和有知识库,回答的区别。

 

7.能感受到了吧,大家应该有很多自己想用的场景,可以自己丰富知识库的内容,成为专业的AI助手。好,下面我们把这个拥有知识库能力的AI助手接入到微信。可以帮助我在微信来解答问题。

接入微信

    1. 注册个域名(不需要的可跳过),接入微信前弄一个网站域名,如图(可以先不用域名,直接用公网ip:3000接入,直接跳过第1、2步。需要再回来用域名方式接入)

这里我们可以在腾讯云上花1元买一年的域名(这里也是唯一要花钱的地方),自己挑个域名后缀,选1元1年那种,然后前面随意填写个英文名称,如图。然后购买。

图片图片

购买好后,点击下添加域名解析,都勾选上,如图。就OK了

图片

2.然后在宝塔系统进入【Docker】点击容器,找到fastgpt后面有个“反向代理”按钮,打开。把刚刚购买并解析好的域名写进去,并设置端口为3000。这样你就可以直接用域名地址打开FastGpt网页了。

图片

3.然后用域名地址(跳过1、2步的用公网ip:3000)打开FastGpt在新建的应用中,获取个对外的API接口(操作:应用>发布应用>Api访问)。点击“新建”API秘钥,复制API KEY和新建按钮旁边的API根地址2个内容。用于配置接入微信。

图片

4.然后打开智能微信秘书页面,注册登录,打开【基础设置】,如图(天行api可以随意填、apikey就是在fastgpt应用里新建的API KEY,服务器地址就是API根地址

图片图片

5.然后在【个人中心】复制微信秘书的APIKEYAPISECRET,后面要用到,如图。图片

 

6.回到宝塔系统进入【Docker】,见下图操作路径:Docker>容器>创建容器>命令创建>复制命令>执行命令(复制命令时,把刚刚微信秘书复制的APIKEYAPISECRET粘贴进去后再执行)。注:窗口自动关闭就是执行完毕了。

docker run -d -e TZ="Asia/Shanghai" -e AIBOTK_KEY="微秘书apikey" -e AIBOTK_SECRET="微秘书apiSecret"  --name=wechatbot aibotk/wechat-assistant

图片

7.好了,所有的部署、配置操作都完成,看下【Docker】容器中,项目状态是否都在“运行中”。然后去智能微信秘书控制台,首页扫码登录即可。如图。图片图片

 

8.最后,我们来看下微信对话效果,是根据我们在fastgpt录入的文档内容来回答的哦。群里要记得@人才能得到回复,如图。

图片 图片

赞(195)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《保姆式教程,搭建属于自己的微信AI小助手》
文章链接:https://cc.yzj6.com/26.html
微信客服 ×

微信号:c15874160205