小程序 AI 助手完整落地全流程(MiMo 云端大模型 + 自有云服务器私有 RAG 知识库)

整体架构分层: 小程序前端 ↔ 你的业务服务端 ↔ 自建 RAG 知识库服务(云服务器部署) ↔ MiMo API 核心规则:原始文档全存你服务器,仅少量检索片段发给 MiMo;AI 只能基于知识库作答,无匹配内容直接拒绝,禁止编造

一、整体架构说明

  1. 存储层(你的云服务器) 本地向量库 Qdrant + 本地嵌入模型 BGE(文档向量化不上传第三方),存放产品手册、小程序操作 FAQ、业务规则、使用教程
  2. RAG 服务层(云服务器 Docker 部署 FastGPT,开箱即用) 文档管理、分片、向量检索、提示词约束、对外标准问答 API
  3. LLM 层(MiMo 云端 API) 仅接收检索到的少量参考片段 + 用户问题,不接触完整知识库
  4. 业务层(你的小程序后端) 接收小程序用户提问,转发至 RAG 服务,接收回答后返回小程序,增加鉴权、限流、日志
  5. 小程序端 对话 UI、输入提问、展示 AI 回复、加载状态

二、前期资源准备清单

  1. 云服务器(2 核 4G,Ubuntu/CentOS 均可,无需 GPU)
  2. MiMo 开发者账号,获取 API_KEY、接口地址(兼容 OpenAI 格式)
  3. 知识库素材:PDF/MD/TXT/Word,小程序使用教程、常见问题、功能说明
  4. 小程序后端服务(自有,提供接口转发)
  5. 安全组放行端口:3000(FastGPT)、业务端口(如 80/443)

三、步骤 1:云服务器部署私有 RAG 知识库(FastGPT Docker)

1.1 安装 Docker

bash

运行

复制代码
curl -fsSL https://get.docker.com | sh
systemctl start docker
systemctl enable docker

1.2 创建持久化目录并启动容器

bash

运行

复制代码
# 存放所有文档、向量、配置,数据永久保存
mkdir -p /data/fastgpt
docker run -d \
  --name fastgpt \
  --restart always \
  -p 3000:3000 \
  -v /data/fastgpt:/app/data \
  ghcr.io/labring/fastgpt:latest

1.3 安全组放行 3000 端口

云服务商后台安全组开放入站 3000,访问地址:http://服务器公网IP:3000

1.4 初始化 FastGPT 基础配置

  1. 首次访问注册管理员账号
  2. 模型配置 → 添加模型,选择 OpenAI 兼容格式:
    • 模型名称:mimo-pro
    • 接口地址:https://api.mimochat.com/v1
    • API Key:你的 MiMo 密钥
  3. 新建知识库分组:小程序用户使用指南,分类上传所有教程、FAQ 文档 上传后系统自动分片、本地 BGE 向量化,全程文档不流出你的服务器

四、步骤 2:配置强制约束 Prompt(杜绝 AI 编造,核心关键)

4.1 创建应用(小程序 AI 助手)

  1. 应用类型:对话应用
  2. 知识库关联:绑定刚才创建的小程序知识库
  3. 检索参数设置(防幻觉第一层)
    • 检索条数 k=3
    • 相似度阈值:0.6(低于该分数直接判定无相关资料,不调用 MiMo)
  4. 系统提示词(完整复制,强约束)

plaintext

复制代码
你是小程序专属使用助手,严格遵守以下硬性规则,违反规则视为回答错误:
1. 你的全部回答只能依赖【参考资料】内的内容,绝对禁止调用模型自身通用知识;
2. 若参考资料为空、或与用户问题无关,统一固定回复:"抱歉,暂未查询到相关使用说明,你可以换个问题咨询";
3. 禁止拓展无关知识、主观猜测、编造功能、延伸行业内容;
4. 回答简洁易懂,贴合小程序操作场景,关键操作步骤可引用原文;
5. 用户询问知识库以外的闲聊、外部问题,直接使用统一无资料话术拒绝回答。

【参考资料】
{context}

用户问题:{question}
  1. 关闭自动补充、关闭联网搜索,保存应用

4.2 获取 FastGPT 对外调用 API 凭证

应用详情页 → API 访问,复制:

  • 接口地址
  • API 密钥(用于你的后端鉴权调用,防止外部随意访问知识库)

五、步骤 3:你的小程序后端对接 RAG 服务(中间转发层)

作用:

  1. 隐藏 FastGPT 地址与密钥,不暴露在小程序前端
  2. 增加用户限流、会话记录、敏感词过滤
  3. 统一返回格式适配小程序

后端接口逻辑流程

  1. 小程序传参:用户 openid、提问内容
  2. 后端校验用户登录、限制单用户每分钟提问次数
  3. 组装请求体,调用服务器上 FastGPT 的问答 API
  4. 接收 FastGPT 返回结果,直接透传给小程序
  5. 入库保存对话日志,方便后续优化知识库

简易请求示例(后端调用 FastGPT)

http

复制代码
POST http://服务器IP:3000/api/v1/chat/completions
Header:
Authorization: Bearer FastGPT生成的API密钥
Content-Type: application/json

Body:
{
  "model": "mimo-pro",
  "messages": [
    {"role": "user", "content": "小程序怎么修改个人头像?"}
  ],
  "stream": false
}

返回内容严格受 Prompt 控制,无资料直接返回预设拒绝文案。

六、步骤 4:小程序前端 AI 对话页面开发

基础交互逻辑

  1. 聊天输入框、发送按钮、历史对话列表
  2. 发送时展示 loading 加载动画
  3. 接收后端返回文本渲染气泡
  4. 支持清空对话、重新提问

前端请求流程

小程序前端 → 调用你自己业务后端接口(不直接访问 FastGPT/MiMo)

js

运行

复制代码
wx.request({
  url: "https://你的业务域名/api/ai/chat",
  method: "POST",
  data: {
    question: "如何提现",
    openid: "用户唯一标识"
  },
  success: res => {
    // 渲染AI回答
  }
})

七、完整数据流转全链路(清晰看懂数据流向)

  1. 用户在小程序提问:「怎么开启消息推送」
  2. 请求到你的业务后端(不接触第三方)
  3. 后端转发提问到你自有云服务器上的 FastGPT 服务
  4. FastGPT 本地向量库检索私有知识库,筛选 3 条相似度达标文档片段 原始完整文档仍保存在你的服务器,不会上传
  5. 仅把「约束提示词 + 3 条片段 + 用户问题」打包发送至 MiMo 云端 API
  6. MiMo 按照强制规则生成回答,不允许使用外部知识
  7. 回答原路返回 FastGPT → 你的业务后端 → 小程序展示
  8. 若检索相似度低于 0.6,直接返回拒绝话术,完全不调用 MiMo,节省 Token 费用

八、核心管控机制(保证只按知识库回答,三层防幻觉)

  1. 检索层拦截(第一层) 设置相似度阈值 0.6,无匹配直接截断,不请求 MiMo,从源头杜绝瞎编
  2. Prompt 强约束(第二层) 硬性禁止使用模型自有知识,规定无资料统一回复固定文案
  3. 业务层兜底校验(第三层,可选上线加) 后端简单校验 AI 返回内容,若出现知识库不存在的专有名词,替换为拒绝话术

九、日常运维 & 知识库更新流程

  1. 新增小程序功能 / 更新教程 登录 FastGPT 后台,上传新文档,系统自动完成分片、向量化入库,无需重启服务
  2. 问答效果优化 查看对话日志,用户频繁提问但库内无内容,补充对应 FAQ 文档
  3. 成本管控
    • 低相似度问题直接拦截,减少 MiMo 调用
    • 限制单用户每日提问次数,控制 Token 消耗
  4. 数据备份 定期备份服务器 /data/fastgpt 文件夹,防止文档、向量丢失

十、方案优缺点总结

优势

  1. 知识库完全私有化,存储在你的云服务器,原始文档不外流
  2. 不用 GPU 服务器,普通 2 核 4G 云主机即可运行
  3. MiMo 推理能力强,回答通顺专业,远优于本地小模型
  4. 严格限制 AI 仅使用自有资料,不会随意编造小程序功能
  5. FastGPT 自带 API,不用从零编写 RAG 代码,快速对接小程序
  6. 所有对外请求经过你的业务后端,安全可控,密钥不暴露前端

短板

  1. 每次问答会上传少量检索片段至 MiMo,极度敏感内部数据不适用
  2. 存在 MiMo 按量计费的 Token 成本,用户量大成本会上涨

十一、上线前安全避坑

  1. FastGPT API 密钥仅存于你的后端,绝不暴露小程序前端
  2. 云服务器 3000 端口仅允许你的业务后端服务器 IP 访问(安全组白名单)
  3. 小程序后端增加限流,防止恶意刷提问消耗 MiMo 额度
  4. 业务接口增加 token 登录鉴权,仅登录用户可使用 AI 助手
  5. 禁止上传用户隐私信息到知识库,仅存放产品使用文档