Agent案例参考-Dify知识库智能问答参考流程
一、Dify上传知识库
1. 创建知识库并上传文档
点击【知识库】---> 【创建知识库】---> 可选【导入已有文本】创建包含文本的知识库或者【创建一个空知识库】 ---> 创建空知识库后点近创建的知识库,可添加文件 ---> 同一知识库可上传多份文档
步骤参考下图:
-
创建知识库

- 上传文档并设置文本分段与清洗:这是决定检索质量的核心环节。AI并非阅读整篇文档,而是搜索最相关的“文本片段”。
1、Dify提供了三种分段模式以适应不同场景: -
模式
工作原理
适用场景
通用分段
将文本按预设规则均匀切分为独立块,是系统最基础、最常用的模式。
大多数通用文档,尤其是结构不复杂的内容。
Q&A分段
利用AI自动从文档中提取问答对,以Q to A(问题匹配答案)策略提升匹配精确度。
已有的FAQ文档、客服知识库等问答对形式明确的内容。
父子分段
以精确的“子块”进行检索,但返回包含更多上下文的“父块”,兼顾了检索精度与信息完整性。
长文档、技术手册等内容量大、段落独立且上下文连贯的文档。
分段标识符,分段最大长度以及分段重叠长度根据文档实际内容进行调整,点击【预览块】可查看分段结果
向量检索:基于语义相似度匹配,适合模糊查询、同义表达。
2、Dify提供两种索引模式:
高质量模式:使用先进的向量嵌入模型进行索引,通常搭配外部向量数据库。该模式准确率高,但会消耗Token并产生额外成本。
经济模式:使用离线向量引擎和关键词索引。该模式低成本,无额外Token消耗,但准确率相对较低。
3、配置Embedding模型
4. 检索方式:根据查询需求选择并配置rerank模型
全文检索:基于字面匹配,适合精确术语、编号查询。
混合检索:结合语义与关键词,平衡准确率和召回率。
权重比例(混合检索时):按查询侧重点调整语义与关键词结果的权重。
Top K:按上下文长度和精度需求设置返回的文档片段数量。
Score阈值:按实际匹配质量设定相关性过滤门槛,仅返回高于该分值的片段。

- 保存并处理后检查文档状态需要为可用
点击右侧添加文件可上传多份文件
点击左侧栏可查看知识库所有文档,进行召回测试,以及修改知识库检索设置

2. dify工作流设置
- 创建dify工作流或chatflow

- 设置知识检索节点
点击【+】添加知识库,可添加多个知识库 ---> 点击【召回设置】可设置参数见下图

- 设置模型节点:
两个图片示例仅供参考


- 可根据具体需求调整提示词
方案一:选择模型节点SYSTEM右侧的星符号进入生成提示词

方案二:可理用AI工具(DEEPSEEK,豆包等)生成提示词
注意:请根据实际效果选择提示词,需要在提示词添加用户问题和知识检索结果参数:

二、 知识库文档治理背景和方案
在知识问答场景中,知识库的构建质量直接决定了问答系统的准确率与用户体验。未经治理的原始文档(特别是多文档库)常因格式杂乱、内容交叉、信息冗余等问题,导致系统难以精准定位答案或产生“答非所问”的现象。
本文档旨在规范知识问答工作流启动前的文档治理工作,通过标准化操作,确保知识库内容结构化、语义清晰、检索高效,从而保障问答系统的稳定输出。
三、 知识库类型判定
在开展治理工作前,需首先判定知识库类型:
● 单文档知识库:指所有知识内容集中在一个文件(如一份手册、一份白皮书)中。此类库上下文关联性强,通常无需复杂预处理。
● 多文档知识库:指知识内容分散在多个独立文件(如不同活动的FAQ、多期活动记录、不同部门的规章制度)中。此类库是治理工作的重点,治理质量直接决定检索效果。
多文档如果是规范的同一类型产品文档,并且可以明确分段的通常无需额外预处理。
四、 单文档知识库治理
对于单文档知识库,原则上不需要进行额外的格式改造或内容拆分。系统将基于整篇文档的语义进行问答匹配。
注意事项:
● 若单文档内部存在明显的章节独立性(如一份文档包含多个互不相关的产品说明),建议仍按多文档库思路进行预处理,以提升定位精度。
五、 多文档知识库治理(核心内容)
多文档知识库的治理目标是将“分散、异构、非结构化”的原始文档,转化为“统一、规范、高内聚”的结构化数据。根据文档的原始形态和业务需求,我们提供以下三种标准治理方案,可根据实际情况选择其一或组合使用。
方案一:标准问答对模式(推荐)
适用场景: 原始文档以FAQ、问题集、操作步骤等形式存在,内容本身可明确拆分为一问一答。
治理目标: 将所有内容统一转化为标准化的问答对,以固定分隔符进行区分,实现高精度的精准匹配。
操作步骤
1. 格式转换:将文档中的每一组“问题-答案”提取出来。
2. 统一模板:严格按照以下模板组织内容:
Q:<具体问题>
A:<详细答案>
3. 分隔符设置:每个问答对之间使用 \n\n(两个换行符)进行物理分隔。系统将默认以此标识切割文档块。
4. 元数据补充(可选但推荐):在问答对头部添加元数据行,如 来源:xxx活动FAQ,便于溯源。
建议:
可以借助豆包,Deepseek等AI工具上传文档并自动生成问答对,如果有图片需要调整在对应的位置添加对应的图片。

格式示例
Q:清明节活动的时间是什么时候?
A:本次清明节活动时间为2026年4月4日至4月6日,每日10:00-17:00。
Q:参与清明节活动需要提前报名吗?
A:不需要提前报名,活动期间直接前往活动现场扫码签到即可参与。
优劣分析
● 优势:检索精准度最高,系统能直接匹配到具体问答,适合事实型、定义型问题。
● 劣势:人工处理成本相对较高,需将叙述性文本进行问答化改写。
方案二:增强结构化分段模式
适用场景: 原始文档为长文本、活动介绍、业务说明等叙述性内容,难以拆分为严格的“一问一答”,但存在明显的主题分段(如多个活动、多个业务板块)。
治理目标: 通过“分段标识 + 主题标签”的方式,使系统能准确理解每个文本块的归属,避免在多个相似主题间产生混淆。
操作步骤
1. 清理无关元素:手动删除文档中嵌入的背景图片、装饰性图片、复杂表格图片等非文字元素。若信息包含在图片中,需进行OCR识别并将文字内容提取出来。
2. 定义分段标识:统一使用 \n\n 作为分段标识,将文档切割为独立的逻辑单元。
3. 增强分段辨识度:这是本方案的关键。每个分段内部必须包含明确的“主题标识字段”,使系统在检索时能区分不同分段的上下文。
○ 活动类文档示例:每个分段必须包含“活动名称:”字段。
○ 产品类文档示例:每个分段必须包含“产品型号:”字段。
○ 制度类文档示例:每个分段必须包含“制度编号:”或“适用部门:”字段。
格式示例
原始内容(未经治理)
时间:4月4日-6日,地点:公园。内容:踏青、祭扫。时间:5月1日-5日,地点:广场。内容:集市、演出。
治理后(增强结构化)
活动名称:清明节踏青活动
活动时间:4月4日-4月6日
活动地点:XX公园
活动内容:包含踏青寻春、文明祭扫宣传、风筝DIY三个环节。
活动名称:劳动节创意集市
活动时间:5月1日-5月5日
活动地点:XX市民广场
活动内容:包含文创集市、街头艺人演出、亲子互动游戏。
优劣分析
● 优势:能有效处理叙述性文本,特别适合存在多个并列主题(如多期活动)的场景,能大幅减少主题混淆。
● 劣势:需要人工为每个分段添加主题标识字段,且分段粒度的划分需要一定经验。
方案三:轻量级OCR文本提取模式
适用场景: 文档来源主要为扫描件、图片型PDF、拍照图片等,无法直接获取原始文本,且人工整理成本有限。
治理目标: 在最小人工干预的前提下,通过技术手段提取纯文本,并建立基础的语义分段能力。
使用方案:可以使用华为云OCR通用文字识别(https://console.huaweicloud.com/ocr/?locale=zh-cn&agencyId=fd3793ced6514e2da6ba92b1bc0bdd3d®ion=cn-south-1#/ocr/overview)或者MinerU(https://mineru.net/apiManage/docs)
操作步骤
1. OCR识别:对文档进行OCR文字识别,仅输出文字内容,丢弃所有图片、图表、格式信息。
2. 自然分段:利用OCR结果中的自然换行、段落间距,结合规则(如连续两个换行符)进行初步分段。(在工作流中使用OCR已经添加模型节点进行分段)
3. 基础标识增强:在OCR文本中,若通过关键词(如“活动一”、“主题二”、“序号1.”)能识别出主题边界,可进行简单的文本标注,但本方案不强求人工添加“活动名称”等复杂字段。
格式示例
OCR识别后的纯文本(自然分段)
清明节活动方案
活动时间:2026年4月4日
活动地点:XX公园
活动内容:踏青、祭扫宣传。
五一劳动节活动方案
活动时间:2026年5月1日
活动地点:XX广场
活动内容:创意集市、演出。
优劣分析
● 优势:治理成本最低,速度快,适用于大批量历史存量文档的快速入库。
● 劣势:问答效果相对前两种方案较弱。由于缺乏明确的结构化标识,在涉及多主题(如多个活动)的文档中,系统可能无法精确区分用户问的是“清明节”还是“劳动节”的活动细节。此方案适用于与客户明确沟通效果预期后使用。
六、 治理方案选型建议
|
文档类型 |
推荐治理方案 |
预期效果 |
人工成本 |
|
FAQ列表、操作手册 |
方案一:标准问答对模式 |
高(精准匹配) |
中 |
|
多活动介绍、多产品说明、制度汇编 |
方案二:增强结构化分段模式 |
高(主题区分清晰) |
中高 |
|
历史扫描件、图片型文档、临时资料 |
方案三:轻量级OCR文本提取模式 |
中(依赖文档本身清晰度) |
低 |
风险提示:
若在多文档场景下跳过前期治理或治理不规范,可能引发以下问题:
● 结果混淆:当用户询问“清明节活动”时,系统可能返回“劳动节活动”的信息,因两者内容在同一知识库中未被区分。
● 定位失败:由于缺乏“活动名称”等标识字段,系统无法将用户的问题与具体分段建立关联,导致回答“未找到相关信息”。
● 上下文断裂:因图片等非文字内容未被清理,OCR提取后形成空块或乱码,影响整体语义理解。
建议根据业务场景与资源投入,合理选择治理方案,并在项目启动前与客户就治理范围与效果预期达成一致。
- 点赞
- 收藏
- 关注作者










评论(0)