Skip to content

知识库管理

知识库用于为智能体应用提供可检索的业务资料。用户提问时,应用先从知识库中找到相关内容,再结合检索结果组织回答。将常见问题、业务制度、服务说明等资料整理进知识库,可以减少模型脱离业务资料自由回答的情况。

知识库管理位于 基础服务 → 组件中心 → 知识库管理

知识库不是让模型重新训练或永久记住资料,而是在每次回答前临时检索相关内容,并将检索结果提供给模型。资料是否完整、检索设置是否合理,都会直接影响最终回答。

一、开始前先理解三个层级

知识库中的内容按照 知识库 → 数据集 → 数据 三层组织:

层级作用示例
知识库管理一个相对独立的业务主题,并统一配置模型和检索方式患者助手常见问题
数据集将同类资料组织在一起门诊服务、药品退换政策
数据能够被检索的具体内容一个问题及其答案、一段文档内容

创建顺序也是从外到内:先创建知识库,再添加数据集,最后录入或维护数据。只有知识库名称而没有数据集和数据时,应用无法检索到业务内容。

一次完整的使用流程为:

  1. 创建知识库,确定资料类型、模型和检索方式;
  2. 添加数据集并录入资料;
  3. 使用召回测试验证检索效果;
  4. 将知识库关联到智能体应用;
  5. 根据测试和线上效果持续维护资料与检索参数。

二、知识库列表

进入知识库管理后,页面左侧为知识库分组,右侧为知识库列表。

知识库管理列表

  • 知识库分组:用于按部门、业务或项目整理知识库。系统默认提供“全部知识库”和“默认分组”。
  • 来源、类型、状态:用于缩小列表范围。
  • 搜索知识库:按名称查找知识库。
  • 状态开关:控制知识库是否可用。停用后,已经关联该知识库的应用也无法继续检索其中内容。
  • 详情:进入知识库,管理数据集和数据。
  • 设置:修改基础信息、模型设置和检索设置。
  • 更多:提供移动、删除等管理操作。
  • 召回测试:在不进入应用的情况下直接验证知识库能否找到正确内容。

2.1 给知识库分组

点击“知识库分组”右侧的 ,填写分组名称并点击 确定。创建或移动知识库时,可以将知识库放入对应分组。

分组只改变知识库在管理页面中的归类,不改变检索结果,也不会自动限制用户权限。

三、创建知识库

点击列表右上角的 添加知识库。创建窗口包含 基本信息、模型设置、检索设置 三个标签页,三个页面配置完成后才能创建。

3.1 填写基本信息

添加知识库的基本信息

配置项说明
知识库名称使用能够直接说明内容范围的名称,例如“患者助手常见问题”。避免使用“测试库”“资料库 1”等难以识别的名称
知识库来源本地知识库通过本平台录入或上传资料;三方知识库通过同步外部知识库构建
知识库类型决定数据的组织方式,包括文档集、表格集和图片集
知识库分组决定知识库在列表中的管理位置
知识库描述说明资料内容、适用场景及适合回答的问题,便于后续维护人员判断用途

怎样选择知识库类型

  • 文档集:适合制度文件、服务手册、说明文档等连续文本。
  • 表格集:适合字段固定的结构化资料,例如“问题—答案”对照表、服务清单和药品目录。表格集查询会使用 NL2SQL 模型。
  • 图片集:适合需要以图片为主要知识内容的场景。

知识库类型决定后续数据的组织和检索方式,创建后不可修改。若资料形式发生根本变化,应新建匹配类型的知识库,再迁移或重新录入资料。

3.2 选择模型

添加知识库的模型设置

Embedding 模型

Embedding 模型将文本转换为向量。向量可以理解为一组表示文本语义特征的数字:表达方式不同但含义接近的两段文字,其向量通常也更接近。因此,向量检索能够找到“字面不同、意思相近”的内容。

Embedding 模型主要影响文档集的语义检索。选择时需要注意:

  • 一个知识库只能使用一个 Embedding 模型;
  • 模型选定后不可修改;
  • 同一知识库中的数据必须使用同一套向量表示,否则新旧索引无法正确比较;
  • 如果没有可选模型,需要先前往模型中心添加并启用 Embedding 模型。

NL2SQL 模型

NL2SQL 是“自然语言转 SQL”。在表格集查询中,它负责把“药品能不能退”这类自然语言问题转换为针对表格结构的查询指令。

NL2SQL 模型并不直接生成最终回答,而是帮助系统从结构化数据中找到符合条件的记录。对响应速度和成本敏感时,可以选择满足任务要求的轻量模型;字段多、问题复杂时,应优先保证模型理解表结构和查询条件的能力。

3.3 配置检索方式

检索方式决定平台用什么依据判断“哪条资料与用户问题最相关”。平台提供混合检索、向量检索和全文检索。

混合检索

混合检索设置

混合检索同时执行全文检索和向量检索,再对两组结果进行合并排序。它既能识别关键词,也能处理同义表达,适合大多数通用问答场景。

混合检索支持两种排序策略:

  • Rerank 模型:先获得候选结果,再由重排序模型比较用户问题与候选内容的相关性,将更匹配的结果排在前面。
  • 权重配置:手动设置语义匹配与关键词匹配的相对权重。资料中包含大量编号、专有名词时,可以提高关键词权重;用户表达差异较大时,可以提高语义权重。

向量检索

向量检索设置

向量检索按照语义相似度查找内容,适合同义表达多、用户提问方式不固定的场景。例如,资料中写“心肌梗死”,用户输入“心梗”时,向量检索仍有机会召回对应内容。

向量相似并不等于业务答案一定正确,因此仍需要通过 Rerank、Top K 和 Score 阈值控制结果质量。

全文检索

全文检索设置

全文检索根据查询词在资料正文中的字面匹配情况返回结果,适合药品名称、疾病编码、制度编号等要求精确匹配的内容。如果用户用词与资料中的写法差异较大,全文检索可能无法命中。

检索方式判断依据适用场景主要限制
混合检索关键词与语义共同判断大多数通用问答,不确定时优先选择配置项较多,需要通过测试调整
向量检索语义相似度同义表达多、自然语言提问灵活可能召回语义相近但业务上不准确的内容
全文检索字面关键词名称、编号、术语等精确查询换一种说法后可能无法命中

Rerank、Top K 和 Score 阈值

  • Rerank 模型:对已经召回的候选内容再次进行相关性排序。它不负责生成答案,也不会补充知识库中不存在的资料。
  • Top K:本次检索最多保留多少条结果。值过小可能遗漏需要的资料;值过大可能把不相关内容一并交给模型,增加干扰和 Token 消耗。
  • Score 阈值:过滤低于指定相关性分数的结果。阈值过高可能出现“没有召回结果”,阈值过低则可能引入无关内容。

首次配置时可以先保留平台默认值,再使用真实业务问题进行召回测试。不要只凭参数名称判断效果,也不要一次同时修改多个参数,否则很难确认是哪项调整产生了影响。

四、三方知识库

三方知识库用于同步外部系统中已经维护的知识内容。它与本地知识库的主要区别是数据来源:本地知识库的数据在本平台维护,三方知识库的数据由外部系统提供并按同步机制更新。

**开发中:**三方知识库暂不可用,具体支持的连接方式、同步范围、更新频率和权限策略以后续上线功能为准。

五、查看知识库详情

在列表中点击 详情,进入知识库详情页。

知识库详情

顶部概况区展示:

  • 知识库来源:本地知识库或三方知识库;
  • 知识库类型:文档集、表格集或图片集;
  • 包含数据集:当前知识库中的数据集数量;
  • 合计字符数:知识库中可统计文本内容的总字符数;
  • 关联应用数:正在使用该知识库的应用数量。

“关联应用数”是修改和删除知识库前的重要检查项。知识库已经被应用引用时,停用、删除或调整检索配置都可能影响应用回答。

页面下方为数据集列表。“召回次数”表示该数据集中的内容被检索命中的累计次数,可用于辅助判断资料是否被实际使用,但召回次数高并不代表回答一定正确。

六、添加和维护数据集

在知识库详情页点击 添加数据集。根据页面提供的入口,可以上传文档、自定义添加或创建空白数据集:

  • 上传文档添加:适合已有 XLSX、CSV 等资料文件的情况。可以从文件资源中选择文件,也可以先本地上传,再用于创建数据集。
  • 自定义添加:先定义字段,再逐条录入数据,适合数据量较小或需要自定义表结构的情况。
  • 创建空白数据集:先建立数据集,后续再逐步补充内容。

创建时通常需要完成“选择数据源 → 结构配置与预览 → 创建完成”。进入下一步前,应检查列名、数据类型和预览内容是否正确;错误的表头或数据类型会直接影响后续查询。

6.1 查看数据集

在知识库详情页的数据集列表中点击 详情,进入数据集详情页。

数据集详情

表格集的数据通常按行展示,每一行代表一条可查询的数据。图中的“问题”被标记为索引字段,表示系统会重点使用该字段进行查询匹配;“答案”保存对应的业务内容。

可以通过状态开关停用某条数据。停用后该条内容不会参与正常检索,但仍保留在数据集中。

6.2 编辑数据

点击一条数据右侧的 编辑数据,修改字段内容和数据关键词。

编辑数据

  • 问题、答案:保存结构化数据中的字段值,带星号的字段必须填写。
  • 数据关键词:用于补充可能的查询表达,例如同义词、简称和常见说法。关键词应与该条数据直接相关,避免添加过于宽泛的词,否则可能增加误召回。
  • 召回次数:展示该条数据被检索命中的次数。

修改后应重新执行召回测试,确认新内容能够命中,同时没有挤占其他更相关的结果。

6.3 重命名数据集

在数据集列表中点击 重命名,修改数据集名称。

重命名数据集

名称用于管理和识别数据集,不会直接改变检索效果。建议使用能够说明资料范围的名称,不要仅使用日期或序号。

七、修改知识库设置

在知识库列表或详情页点击 设置,可以重新查看和调整知识库配置。

7.1 基本信息

知识库基本设置

可以修改名称、分组和描述等信息。知识库来源和类型关系到数据组织方式,创建后不能随意切换。

7.2 模型设置

知识库模型设置

Embedding 模型一旦用于创建索引便不可修改。表格集可以根据实际需要调整 NL2SQL 模型,但调整后应使用原有典型问题重新测试,避免查询理解能力发生退化。

7.3 检索设置

可以根据召回测试结果调整检索方式、排序策略、Top K 和 Score 阈值。调整前建议记录原配置和测试结果,调整后使用同一组问题对比,避免仅凭单次结果判断。

八、召回测试

召回测试用于在知识库关联应用前验证检索效果。可以从知识库列表左下角、知识库操作菜单或详情页右上角进入。它验证的是“系统能否从知识库找到正确资料”,不负责生成应用的最终回答。

召回测试结果

操作步骤:

  1. 在“源文本”中输入一个真实用户可能提出的问题;
  2. 选择需要测试的知识库,最多可以选择 10 个;
  3. 确认每个知识库使用的检索方式;
  4. 点击 测试
  5. 在右侧检查召回内容、排列顺序和相关性分数。

8.1 怎样阅读召回结果

测试完成后,右侧会按照相关性从高到低展示召回结果。上图示例使用问题“上门服务有什么服务”,共返回 3 条结果,最高分为 0.95。

  • 召回结果数:本次检索最终返回的内容数量,通常不会超过检索设置中的 Top K。返回数量少于 Top K 时,可能是候选内容不足,也可能是部分内容被 Score 阈值过滤。
  • 相关性分数:表示该条内容与测试问题的匹配程度。同一次测试中,分数越高的结果通常越相关。分数用于比较和调参,不等同于答案正确率,也不宜直接比较不同模型或不同检索配置下的分数。
  • 分段内容:展示本次命中的具体数据。表格集会同时显示索引字段和其他字段,例如“问题”和“答案”。
  • 来源路径:显示结果来自哪个知识库和数据集。选择多个知识库测试时,应检查结果是否来自预期的数据源。
  • 打开:进入对应数据,便于核对完整内容或直接修正资料。

判断一次测试是否通过,不能只看最高分。还需要确认:

  1. 第一条结果是否直接回答当前问题;
  2. 排在前面的结果是否比后面的结果更相关;
  3. 返回内容是否来自正确的知识库和数据集;
  4. 是否混入可能误导模型的无关内容;
  5. 结果中的业务内容是否完整、有效且经过审核。

不要只用资料中的原句测试。建议至少覆盖以下情况:

测试类型示例目的
标准问题确认资料中的典型问法能够命中
同义表达确认换一种说法后仍能找到正确内容
精确术语确认名称、编号或专业术语能够准确命中
无答案问题确认知识库没有相关资料时,不会返回明显无关内容
相似问题确认多条内容相近时,最相关结果能够排在前面

如果测试结果不理想,可以按以下顺序排查:

  1. 确认正确答案确实已经录入,且对应数据处于启用状态;
  2. 检查问题、答案、关键词和文档内容是否清晰完整;
  3. 检查知识库类型和检索方式是否适合当前资料;
  4. 检查 Top K 是否过小、Score 阈值是否过高;
  5. 必要时调整 Rerank 模型或混合检索权重;
  6. 每次只修改一项配置,并使用同一组问题复测。

如果页面直接提示“召回测试失败”,而不是正常显示 0 条结果,应优先检查模型配置是否完整、所选模型是否仍然可用。使用混合检索并选择“Rerank 模型”作为排序策略时,必须选择一个可用的 Rerank 模型;若模型框中只显示异常的模型 ID,可以重新选择有效模型,或暂时切换为“权重配置”进行验证。

8.2 查看测试记录

切换到 测试记录 标签页,可以查看历史测试。

召回测试记录

字段说明
查询内容本次测试使用的源文本,点击后可以重新查看对应结果
召回用时从发起测试到返回检索结果所消耗的时间
召回数本次测试返回的结果数量
最高分数本次结果中的最高相关性分数
添加时间本次测试的执行时间

测试记录适合用于对比检索配置调整前后的变化。例如,保持测试问题不变,只修改 Rerank 模型、Top K 或 Score 阈值,再比较召回顺序、数量、最高分数和用时。

页面右上角的删除按钮用于清空测试记录。清空记录不会删除知识库、数据集或数据,但会失去历史对比依据,操作前应确认记录不再需要。

九、在应用中使用知识库

完成召回测试后,进入目标智能体应用的知识配置区域,选择并启用该知识库,再使用相同或相近的问题进行应用级调试。

召回测试通过只说明“检索阶段能够找到资料”,不代表最终回答一定符合要求。应用的提示词、模型能力、上下文长度以及多个知识库之间的结果合并,都会影响最终回答。因此,正式发布前还需要同时验证:

  • 应用是否引用了正确的知识库;
  • 回答是否忠于召回资料;
  • 资料中没有答案时,应用是否按预期处理;
  • 专业内容是否满足业务审核和安全要求。

十、停用、移动和删除

  • 停用知识库:知识库保留,但不再参与应用检索。适合临时下线或维护。
  • 移动知识库:只改变所属分组,不改变数据和检索配置。
  • 删除知识库:清除知识库及其数据集和数据。

删除前应检查关联应用数,并确认是否需要保留原始资料或配置记录。对于已经交付使用的应用,应先解除引用或准备替代知识库,再执行删除。

AI 应用开发平台 - 面向医疗场景的 AI 应用创新引擎