定制型网站制作公司,PHP+Ajax网站开发典型实例,wordpress怎样去掉手机自适应效果,京东app下载官网1、创建知识库步骤
创建一个知识库并上传相关文档主要涉及以下五个关键步骤#xff1a; 创建知识库#xff1a;首先#xff0c;需要创建一个新的知识库。这可以通过上传本地文件、从在线资源导入数据或者直接创建一个空的知识库来实现。 指定分段模式#xff1a;接下来是…1、创建知识库步骤
创建一个知识库并上传相关文档主要涉及以下五个关键步骤 创建知识库首先需要创建一个新的知识库。这可以通过上传本地文件、从在线资源导入数据或者直接创建一个空的知识库来实现。 指定分段模式接下来是内容预处理与数据结构化的阶段其中长文本将被划分为多个内容分段。在此过程中可以预览文本分段的效果。 设定索引方法和检索设置一旦文档被正确分段下一步就是配置索引方法以及检索参数。这些设置决定了当用户提出查询时系统如何在已有文档中查找相关内容并提取出最相关的片段以供语言模型生成答案。 等待分段嵌入此步骤涉及到将每个分段的内容转化为向量表示即 Embedding以便于后续的高效检索。 完成上传并在应用内关联使用最后完成文档的上传并在应用程序中关联该知识库。这样就可以基于这个知识库搭建问答式的LLM应用了。对于知识库的管理和维护请参阅相关指南。
参考阅读 ETL为了增强非结构化或半结构化数据的预处理能力Dify 提供了两种ETL方案Dify ETL 和 Unstructured ETL。不同的ETL方案支持不同的文件格式解析选择合适的ETL方案可以优化数据提取效果。 Embedding这是一种技术通过将文本转换为连续的向量表示从而有效地捕捉文本间的语义相似性和关系。这对于提升信息检索效率至关重要。 元数据利用元数据功能可以更高效地管理您的知识库内容包括但不限于对数据进行分类、标注等操作。
2、示例
2.1、导入文本 2.2 指定分段模式 将内容上传至知识库后接下来需要对内容进行分段与数据清洗。该阶段是内容的预处理与数据结构化过程长文本将会被划分为多个内容分段。 什么是分段与清洗策略 分段 由于大语言模型的上下文窗口有限无法一次性处理和传输整个知识库的内容因此需要对文档中的长文本分段为内容块。即便部分大模型已支持上传完整的文档文件但实验表明检索效率依然弱于检索单个内容分段。 LLM 能否精准地回答出知识库中的内容关键在于知识库对内容块的检索与召回效果。类似于在手册中查找关键章节即可快速得到答案而无需逐字逐句分析整个文档。经过分段后知识库能够基于用户问题采用分段 TopK 召回模式召回与问题高度相关的内容块补全关键信息从而提高回答的精准性。 在进行问题与内容块的语义匹配时合理的分段大小非常关键它能够帮助模型准确地找到与问题最相关的内容减少噪音信息。过大或过小的分段都可能影响召回的效果。 Dify 提供了 通用分段 和 父子分段 两种分段模式分别适应不同类型的文档结构和应用场景满足不同的知识库检索和召回的效率与准确性要求。 清洗 为了保证文本召回的效果通常需要在将数据录入知识库之前便对其进行清理。例如文本内容中存在无意义的字符或者空行可能会影响问题回复的质量需要对其清洗。Dify 已内置的自动清洗策略详细说明请参考 ETL。 LLM 收到用户问题后能否精准地回答出知识库中的内容取决于知识库对内容块的检索和召回效果。匹配与问题相关度高的文本分段对 AI 应用生成准确且全面的回应至关重要。
好比在智能客服场景下仅需帮助 LLM 定位至工具手册的关键章节内容块即可快速得到用户问题的答案而无需重复分析整个文档。在节省分析过程中所耗费的 Tokens 的同时提高 AI 应用的问答质量。
分段模式
知识库支持两种分段模式通用模式与父子模式。如果你是首次创建知识库建议选择父子模式。 注意原 自动分段与清洗模式已自动更新为 通用模式。无需进行任何更改原知识库保持默认设置即可继续使用。选定分段模式并完成知识库的创建后后续无法变更。知识库内新增的文档也将遵循同样的分段模式。 通用模式
系统按照用户自定义的规则将内容拆分为独立的分段。当用户输入问题后系统自动分析问题中的关键词并计算关键词与知识库中各内容分段的相关度。根据相关度排序选取最相关的内容分段并发送给 LLM辅助其处理与更有效地回答。
在该模式下你需要根据不同的文档格式或场景要求参考以下设置项手动设置文本的分段规则。
分段标识符默认值为 \n即按照文章段落进行分块。你可以遵循正则表达式语法自定义分块规则系统将在文本出现分段标识符时自动执行分段。例如 的含义是按照句子进行分段。下图是不同语法的文本分段效果 分段最大长度指定分段内的文本字符数最大上限超出该长度时将强制分段。默认值为 500 Tokens分段长度的最大上限为 4000 Tokens分段重叠长度指的是在对数据进行分段时段与段之间存在一定的重叠部分。这种重叠可以帮助提高信息的保留和分析的准确性提升召回效果。建议设置为分段长度 Tokens 数的 10-25%
文本预处理规则 过滤知识库内部分无意义的内容。提供以下选项
替换连续的空格、换行符和制表符删除所有 URL 和电子邮件地址
配置完成后点击预览区块即可查看分段后的效果。你可以直观的看到每个区块的字符数。如果重新修改了分段规则需要重新点击按钮以查看新的内容分段。
若同时批量上传了多个文档轻点顶部的文档标题快速切换并查看其它文档的分段效果。 分段规则设置完成后接下来需指定索引方式。支持高质量索引和经济索引详细说明请参考设定索引方法。
父子模式
与通用模式相比父子模式采用双层分段结构来平衡检索的精确度和上下文信息,让精准匹配与全面的上下文信息二者兼得。
其中父区块Parent-chunk保持较大的文本单位如段落提供丰富的上下文信息子区块Child-chunk则是较小的文本单位如句子用于精确检索。系统首先通过子区块进行精确检索以确保相关性然后获取对应的父区块来补充上下文信息从而在生成响应时既保证准确性又能提供完整的背景信息。你可以通过设置分隔符和最大长度来自定义父子区块的分段方式。
例如在 AI 智能客服场景下用户输入的问题将定位至解决方案文档内某个具体的句子随后将该句子所在的段落或章节联同发送至 LLM补全该问题的完整背景信息给出更加精准的回答。
其基本机制包括
子分段匹配查询 将文档拆分为较小、集中的信息单元例如一句话更加精准的匹配用户所输入的问题。子分段能快速提供与用户需求最相关的初步结果。 父分段提供上下文 将包含匹配子分段的更大部分如段落、章节甚至整个文档视作父分段并提供给大语言模型LLM。父分段能为 LLM 提供完整的背景信息避免遗漏重要细节帮助 LLM 输出更贴合知识库内容的回答。 在该模式下你需要根据不同的文档格式或场景要求手动分别设置父子分段的分段规则。
父分段
父分段设置提供以下分段选项
段落
根据预设的分隔符规则和最大块长度将文本拆分为段落。每个段落视为父分段适用于文本量较大内容清晰且段落相对独立的文档。支持以下设置项 分段标识符默认值为 \n即按照文本段落分段。你可以遵循正则表达式语法自定义分块规则系统将在文本出现分段标识符时自动执行分段。 分段最大长度指定分段内的文本字符数最大上限超出该长度时将强制分段。默认值为 500 Tokens分段长度的最大上限为 4000 Tokens 全文
不进行段落分段而是直接将全文视为单一父分段。出于性能原因仅保留文本内的前 10000 Tokens 字符适用于文本量较小但段落间互有关联需要完整检索全文的场景。 子分段
子分段文本是在父文本分段基础上由分隔符规则切分而成用于查找和匹配与问题关键词最相关和直接的信息。如果使用默认的子分段规则通常呈现以下分段效果
当父分段为段落时子分段对应各个段落中的单个句子。父分段为全文时子分段对应全文中各个单独的句子。
在子分段内填写以下分段设置
分段标识符默认值为 即按照句子进行分段。你可以遵循正则表达式语法自定义分块规则系统将在文本出现分段标识符时自动执行分段。分段最大长度指定分段内的文本字符数最大上限超出该长度时将强制分段。默认值为 200 Tokens分段长度的最大上限为 4000 Tokens
你还可以使用文本预处理规则过滤知识库内部分无意义的内容
替换连续的空格、换行符和制表符删除所有 URL 和电子邮件地址
配置完成后点击预览区块即可查看分段后的效果。你可以查看父分段的整体字符数。背景标蓝的字符为子分块同时显示当前子段的字符数。
如果重新修改了分段规则需要重新点击预览区块按钮以查看新的内容分段。若同时批量上传了多个文档轻点顶部的文档标题快速切换至其它文档并预览内容的分段效果。 为了确保内容检索的准确性父子分段模式仅支持使用高质量索引。
两种模式的区别是什么
两者的主要区别在于内容区块的分段形式。通用模式的分段结果为多个独立的内容分段而父子模式采用双层结构进行内容分段即单个父分段的内容文档全文或段落内包含多个子分段内容句子。
不同的分段方式将影响 LLM 对于知识库内容的检索效果。在相同文档中采用父子检索所提供的上下文信息会更全面且在精准度方面也能保持较高水平大大优于传统的单层通用检索方式。 3. 设定索引方法与检索设置
选定内容的分段模式后接下来设定对于结构化内容的索引方法与检索设置。
设定索引方法
正如搜索引擎通过高效的索引算法匹配与用户问题最相关的网页内容索引方式是否合理将直接影响 LLM 对知识库内容的检索效率以及回答的准确性。
提供 高质量 与 经济 两种索引方法其中分别提供不同的检索设置选项 原 QA 模式仅适用于社区版已成为高质量索引方法下的一个可选项。 高质量
在高质量模式下使用 Embedding 嵌入模型将已分段的文本块转换为数字向量帮助更加有效地压缩与存储大量文本信息使得用户问题与文本之间的匹配能够更加精准。
将内容块向量化并录入至数据库后需要通过有效的检索方式调取与用户问题相匹配的内容块。高质量模式提供向量检索、全文检索和混合检索三种检索设置。关于各个设置的详细说明请继续阅读检索设置。
选择高质量模式后当前知识库的索引方式无法在后续降级为 “经济”索引模式。如需切换建议重新创建知识库并重选索引方式。 如需了解更多关于嵌入技术与向量的说明请参考《Embedding 技术与 Dify》。
启用 QA 模式可选仅适用于社区版
开启该模式后系统将对已上传的文本进行分段。总结内容后为每个分段自动生成 QA 匹配对。与常见的 「Q to P」用户问题匹配文本段落策略不同QA 模式采用 「Q to Q」问题匹配问题策略。
这是因为 「常见问题」 文档里的文本通常是具备完整语法结构的自然语言Q to Q 模式会令问题和答案的匹配更加清晰并同时满足一些高频和高相似度问题的提问场景。 QA 模式仅支持处理 「中英日」 三语。启用该模式后可能会消耗更多的 LLM Tokens并且无法使用经济型索引方法。
当用户提问时系统会找出与之最相似的问题然后返回对应的分段作为答案。这种方式更加精确因为它直接针对用户问题进行匹配可以更准确地帮助用户检索真正需要的信息。
经济
在经济模式下每个区块内使用 10 个关键词进行检索降低了准确度但无需产生费用。对于检索到的区块仅提供倒排索引方式选择最相关的区块详细说明请阅读下文。
选择经济型索引方式后若感觉实际的效果不佳可以在知识库设置页中升级为 “高质量”索引方式。
指定检索方式
知识库在接收到用户查询问题后按照预设的检索方式在已有的文档内查找相关内容提取出高度相关的信息片段供语言模型生成高质量答案。这将决定 LLM 所能获取的背景信息从而影响生成结果的准确性和可信度。
常见的检索方式包括基于向量相似度的语义检索以及基于关键词的精准匹配前者将文本内容块和问题查询转化为向量通过计算向量相似度匹配更深层次的语义关联后者通过倒排索引即搜索引擎常用的检索方法匹配问题与关键内容。
不同的索引方法对应差异化的检索设置。
高质量索引
在高质量索引方式下Dify 提供向量检索、全文检索与混合检索设置
向量检索
定义 向量化用户输入的问题并生成查询文本的数学向量比较查询向量与知识库内对应的文本向量间的距离寻找相邻的分段内容。 向量检索设置 Rerank 模型 默认关闭。开启后将使用第三方 Rerank 模型再一次重排序由向量检索召回的内容分段以优化排序结果。帮助 LLM 获取更加精确的内容辅助其提升输出的质量。开启该选项前需前往“设置” → “模型供应商”提前配置 Rerank 模型的 API 秘钥。 开启该功能后将消耗 Rerank 模型的 Tokens详情请参考对应模型的价格说明。 TopK 用于筛选与用户问题相似度最高的文本片段。系统同时会根据选用模型上下文窗口大小动态调整片段数量。默认值为 3数值越高预期被召回的文本分段数量越多。 Score 阈值 用于设置文本片段筛选的相似度阈值只召回超过设置分数的文本片段默认值为 0.5。数值越高说明对于文本与问题要求的相似度越高预期被召回的文本数量也越少。 TopK 和 Score 设置仅在 Rerank 步骤生效因此需要添加并开启 Rerank 模型才能应用两者中的设置参数。
全文检索
定义 关键词检索即索引文档中的所有词汇。用户输入问题后通过明文关键词匹配知识库内对应的文本片段返回符合关键词的文本片段类似搜索引擎中的明文检索。 全文检索设置 Rerank 模型 默认关闭。开启后将使用第三方 Rerank 模型再一次重排序由全文检索召回的内容分段以优化排序结果。向 LLM 发送经过重排序的分段辅助其提升输出的内容质量。开启该选项前需前往“设置” → “模型供应商”提前配置 Rerank 模型的 API 秘钥。 开启该功能后将消耗 Rerank 模型的 Tokens详情请参考对应模型的价格说明。 TopK 用于筛选与用户问题相似度最高的文本片段。系统同时会根据选用模型上下文窗口大小动态调整片段数量。系统默认值为 3 。数值越高预期被召回的文本分段数量越多。 Score 阈值 用于设置文本片段筛选的相似度阈值只召回超过设置分数的文本片段默认值为 0.5。数值越高说明对于文本与问题要求的相似度越高预期被召回的文本数量也越少。 TopK 和 Score 设置仅在 Rerank 步骤生效因此需要添加并开启 Rerank 模型才能应用两者中的设置参数。
混合检索
定义 同时执行全文检索和向量检索或 Rerank 模型从查询结果中选择匹配用户问题的最佳结果。 权重设置
允许用户赋予语义优先和关键词优先自定义的权重。关键词检索指的是在知识库内进行全文检索Full Text Search语义检索指的是在知识库内进行向量检索Vector Search。 将语义值拉至 1 仅启用语义检索模式。借助 Embedding 模型即便知识库中没有出现查询中的确切词汇也能通过计算向量距离的方式提高搜索的深度返回正确内容。此外当需要处理多语言内容时语义检索能够捕捉不同语言之间的意义转换提供更加准确的跨语言搜索结果。 将关键词的值拉至 1 仅启用关键词检索模式。通过用户输入的信息文本在知识库全文匹配适用于用户知道确切的信息或术语的场景。该方法所消耗的计算资源较低适合在大量文档的知识库内快速检索。 自定义关键词和语义权重 除了将不同的数值拉至 1你还可以不断调试二者的权重找到符合业务场景的最佳权重比例。 语义检索指的是比对用户问题与知识库内容中的向量距离。距离越近匹配的概率越大。参考阅读《DifyEmbedding 技术与 Dify 知识库设计/规划》。 Rerank 模型
默认关闭。开启后将使用第三方 Rerank 模型再一次重排序由混合检索召回的内容分段以优化排序结果。向 LLM 发送经过重排序的分段辅助其提升输出的内容质量。开启该选项前需前往“设置” → “模型供应商”提前配置 Rerank 模型的 API 秘钥。 开启该功能后将消耗 Rerank 模型的 Tokens详情请参考对应模型的价格说明。 “权重设置” 和 “Rerank 模型” 设置内支持启用以下选项 TopK 用于筛选与用户问题相似度最高的文本片段。系统同时会根据选用模型上下文窗口大小动态调整片段数量。系统默认值为 3 。数值越高预期被召回的文本分段数量越多。 Score 阈值 用于设置文本片段筛选的相似度阈值即只召回超过设置分数的文本片段。系统默认关闭该设置即不会对召回的文本片段相似值过滤。打开后默认值为 0.5。数值越高预期被召回的文本数量越少。
经济索引
倒排索引
在经济索引方式下仅提供倒排索引方式。这是一种用于快速检索文档中关键词的索引结构常用于在线搜索引擎。倒排索引仅支持 TopK 设置项。 TopK 用于筛选与用户问题相似度最高的文本片段。系统同时会根据选用模型上下文窗口大小动态调整片段数量。系统默认值为 3 。数值越高预期被召回的文本分段数量越多。