夜雨聆风学习资料网

ARTICLE · 1105976

一份文档就能搭出来的知识库智能体 —— "会引用"的问答 AI

一份文档就能搭出来的知识库智能体 —— "会引用"的问答 AI

我用《设备借用制度》当例子,从建知识库到上线问答助手,一共走了 26 步,全程截图跟着做。我们只讲"按哪个按钮、为什么这么按、踩过的坑"。


一、为什么这件事值得做

把制度、产品手册、培训资料丢给 AI,让它只"按资料回答",并把依据标出来——这件事以前要做几个月,现在用知识库 + RAG 半天就能跑通。

核心思路就两句话:

  • 嵌入模型负责"找资料":把文本变成可检索的向量。
  • 大语言模型负责"写回答":拿到资料后用中文组织成答案。

所以这次教程拆成两段:

段落步骤目标
Part 1:建库验证01–14上传文档、做分块、跑召回测试,确认"能找到"
Part 2:连问答助手15–26
建智能体、连知识库、验证能答对 + 不编造、发布 v1

二、Part 1:把文档变成"可检索"的知识库

01–06 · 建一个叫"设备借用制度 教程0910"的知识库

登录测试环境 → Default Workspace → 顶部"知识库" → 添加知识库。

填好这几项:

字段填写内容
名称设备借用制度 教程0910
描述用于文件解析、分块、检索和问答教学
类型文档(Wiki &知识图谱保持关闭)
文档索引✅ 开启
LLMqwen3.7-max
Embeddingtext-embedding-v3
向量存储系统默认(当前测试环境不支持单独切换)
检索向量检索,阈值 0.5,Top K = 10,关闭重排序
分块自动分块,块大小 512,重叠 80,关闭父子分块

⚠️ 容易踩的坑:

  • 不要把 LLM 误选成 Embedding:前者是回答模型,后者是检索模型。
  • Top K 更大 ≠ 答案更准:本教程示例就设 10,配合阈值 0.5 已经足够。
  • 重排序不是基础问答的前置条件:本例未开。

07–12 · 上传《设备借用制度示例.txt》

在知识库顶部点 新建/导入 → 新增文档。

向导分三步:文档源 → 文本处理 → 完成。

文档源

选 文件,上传随教程提供的 设备借用制度示例.txt(约 693 B,远低于 15 MB 上限)。

文本处理

默认页面里"块大小"经常被预先填成 1000,别直接确认。

手工改成:

参数值
转换器默认
分块方式递归字符
块大小512
重叠80
图像理解关闭(纯文本场景)

⚠️ 坑:如果预览区出现空白或乱码,先回去修解析,不要直接进入问答。

完成

保存后等待 "文档已上传" + "嵌入已完成" 两个状态都出现,再点 前往文档。

上传完成 ≠ 索引完成。必须等嵌入完成才能进入下一步。

进文档详情确认:

  • ✅ 状态:完成
  • ✅ 分块数 > 0
  • ✅ 文件名正确

13–14 · 召回测试:先验证"能找得到"

点顶部 测试,源文本输入:

设备单次最多可以借几个工作日?

保持向量检索,点 测试。

期望结果:召回 1 个段落,分数 ≈ 0.78,原文包含 "最长 3 个工作日" 和 "延期规则"。

⚠️ 关键提醒:分数 ≠ 答案准确率。召回对了,才说明检索链路可用;后面才轮到连智能体。


三、Part 2:把检索结果接到问答助手

15–19 · 建一个空的智能体

返回 Default Workspace → 创建空白专家 → 选 智能体 + 空白 → 下一步。

基础信息:

字段值
IDkb-qa-tutorial-0910
名称设备借用问答 教程0910
模型qwen3.7-max
描述根据设备借用制度示例回答,供知识库教程演示

中间件步骤保持空,技能列表保持未选,直接保存。

进 Studio 后确认两点:

  • ✅ 已生成 对话触发器
  • ✅ 对话触发器 连接到主智能体

20 · 写一份"强制检索"的提示词

点主智能体卡片,标题改为 "设备借用问答"。在提示词里写清规则:

TEXT复制

你是设备借用制度问答助手。回答前必须检索已连接的设备借用制度知识库。只根据检索到的内容回答,说明依据的文档名称。没有依据时明确说"知识库未提供这项信息",不编造费用、期限或审批规则。用简洁中文回答。

⚠️ 坑:提示词规定回答方式,知识库连接 提供检索能力。两件事都要做,缺一不可。


21 · 把主智能体"接到"知识库

  1. 画布 添加菜单 → 添加知识库 → 设备借用制度 教程0910
  2. 从 主智能体底部"连接知识库"端口 → 拖到 知识库顶部端口
  3. 打开主智能体属性 → 滚到知识库区域 → 看到名称

⚠️ 坑:只把知识库放到画布、没有连线时,不算连接完成。


22–24 · 验证两类问题:"能答对"和"不编造"

验证 1:答得出原文已包含的问题

右上 预览,输入:

设备单次最多可以借几个工作日?如果要延期怎么办?请注明依据。

期望:

  • ✅ 显示一次知识库工具调用
  • ✅ 答案写明"最长 3 个工作日"
  • ✅ 说明延期需联系设备管理员,给出延期原因 + 新归还日期
  • ✅ 引用文档名称

验证 2:答不了未涉及的问题

继续输入:

借用设备要交多少押金?

期望:

  • ✅ 助手再次检索
  • ✅ 回答"知识库未提供这项信息"
  • ✅ 不编造押金金额
  • ✅ 不把常识猜测当制度

这两步同时验证:能不能找到 + 会不会瞎编。任意一项不达标,都别急着发布。


25–26 · 发布 v1

测试发布前的最后一步:完成检索、正常问答、无依据问题三类验证后:

  1. 右上 发布 → 发布
  2. 开启 创建新版本
  3. 填写本次发布说明(建议写清"已验证:召回 1 段、3 工作日、无押金问题")
  4. 提交

核对顶部状态变为 "已发布 v1",本例于 2026 年 9 月 10 日完成。


四、参数与排查速查表

遇到问题,先判断失败发生在哪一层,一次只调一个变量,用同一个测试问题对比。

情况检查与处理
文件上传了但问答找不到确认索引已完成、分块数 > 0、文档已启用,连的是同一个知识库
检索没命中先检查原文是否含答案;再适度调阈值和 Top K
召回正确但答错看知识库工具是否被实际调用;检查提示词 + 引用;不要只调高 Top K
模型选择器没有嵌入模型找管理员申请 text-embedding 权限,确认提供商配置
默认分块 ≠ 导入页以导入表单为准,重新核对块大小和重叠
资料更新后上传修订文档或重新走处理流程;用旧问题 + 变更条款复测,避免新旧制度混用

五、附:可复制的问答提示词

TEXT复制

你是设备借用制度问答助手。回答前必须检索已连接的设备借用制度知识库。只根据检索到的内容回答,说明依据的文档名称。没有依据时明确说"知识库未提供这项信息",不编造费用、期限或审批规则。用简洁中文回答。

写在最后

教程里的示例文件是虚构的教学资料,不代表任何真实组织的制度。

但搭法是真的:一份文档 → 一个知识库 → 一个"会引用"的智能体 → 半天上线给团队用。

下一步可以怎么玩?

  • 把同一份文档换成产品手册 / 培训资料 / FAQ
  • 加 重排序 提升复杂问题的答案质量
  • 用 Wiki + 知识图谱 索引结构化内容

官方文档延伸阅读:

  • 知识库概览
  • 文档分块策略
  • 召回测试与检索参数
  • 在应用中使用知识库

Xpert 官方 · docs.xpertai.cn


一篇推文讲完《Xpert 知识库问答操作教程》26 步,下一篇开始讲"多知识库 + 多智能体协作"。

相关学习资料