可灵活定制的切片规则,才是 RAG 能够精准的核心关键

背景知识:为什么需要 RAG?
在人工智能飞速发展的今天,大语言模型(LLM)因其强大的自然语言处理能力,成为智能问答和知识检索等场景的核心引擎。然而,大模型的知识库存在两个主要限制:
时效性问题:训练数据通常截断至某一时间点,无法实时更新。
私有数据问题:大模型难以直接处理企业或个人专属的私有数据。为了解决这些问题,**检索增强生成(Retrieval-Augmented Generation, RAG)**技术应运而生。RAG 通过将外部知识库与大模型结合,在生成答案前动态检索相关知识,显著提升了回答的准确性和时效性。在 RAG 系统的构建中,知识切片(Chunking)与向量化(Embedding)是知识入库阶段的核心步骤。它们直接决定了检索效果和生成质量,是 RAG 技术的关键环节。
问题:切片规则远远不够用
RAG 已经成为企业让 LLM 快速获得私有知识的有效方式。然而,其核心之一——知识切片的处理,往往是影响 AI 输出效果的关键。
切片的影响是什么?
知识切片规则决定了文档如何被分割成可检索的“知识块”。切片是否合理直接影响到知识检索的精准度,进而影响 AI 生成的答案质量。
低代码平台的局限
目前,很多 AI 开发平台的知识库提供了零代码配置文档切片规则的方法,但这些预设规则往往通用性强而灵活性不足,难以满足企业复杂多样的需求。尤其是当业务场景对知识处理有更高要求时,固定规则的局限性就显现出来了。
案例:帮助律师进行精准类案检索的智能体
场景需求:
律师在日常工作中需要根据输入的关键词快速检索类似案件,并提取其中的核心信息,如裁判观点、裁判结果、审理法院等。因此,智能体除了准确找到相关案件,还需要在案件文档中精准定位关键信息。

(需求概念设计图)
实施尝试
智宇苍穹科技的 UniverAI 平台的知识库提供了丰富的预设文档切片规则。尽管通过多种尝试,智能体的问答效果依然未达预期:
检索结果不够全面,遗漏了部分相关案例。
有时返回了不相关的案例内容,影响了使用体验。

(UniverAI 平台上构建的智能体,多次测试中,其中一次的实际问答效果)
问题分析
切片过细:知识文档被分割得过于零散,导致上下文信息被丢失,结果不完整。
切片过大:知识文档被分割得过于笼统,关键信息被稀释,系统检索出了不相关的内容。
解决方案
为了满足律师对类案检索的高精度需求,我们重新设计了知识文档的切片规则。
定制分割维度:基于案件段落、法律条款、案例情景等特定维度进行分割。
附加关键信息:每个知识块带上案件名称和关键词,确保上下文与检索逻辑的关联性。

(自定义的切片需求)
这类高度定制化的文档切片需求,单靠页面配置难以实现,但对于有一定编程基础的开发者来说,通过代码实现非常简单。因此,解决此问题的最佳方式是由专业开发者通过全代码实现自定义切片规则
UniverAI 的解决方案:全代码定制切片规则
智宇苍穹科技的 UniverAI 平台提供灵活的知识加工能力,支持开发者根据业务需求自定义知识文档的处理逻辑,适配多样化场景。
核心优势:
灵活性:开发者可以完全自定义知识切片规则,例如按段落、标题、时间线分割,甚至基于内容语义分割文档。
高效性:插件化开发方式让切片逻辑的调整快速而简单,开发者只需关注业务需求即可。
兼容性:支持多种格式的文档处理规则,适用于不同类型的知识库场景。
快速开始:
下载知识库文件解析脚手架
修改脚手架中 src/router/chat.py 文件中的 kb_parser 方法
添加你需要的文件处理库(如 PyPDF2、openpyxl 等)
部署服务后注册到 UniverAI 平台
平台会自动调用你的解析逻辑处理用户上传的文件
具体操作流程:
创建解析工程
进入项目后,选择新建知识库切片解析项目,创建成功后,可以下载对应的工程脚手架:
点击创建按钮,生成新的知识库解析工程。
下载脚手架以便本地开发。[图片][图片]

(进入项目页面)

(创建知识库切片解析项目)

(下载代码脚手架)
开发自定义逻辑
这个脚手架让开发者能够轻松自定义文件处理逻辑,核心功能:
文件解析:接收平台上传的文件,按照你的规则进行解析
智能分词:自动将文件内容切分成适合 AI 理解的小块
多语言支持:支持中文、英文等多种语言的文件处理
用户权限:自动识别当前登录用户,确保数据安全

你只需要做一件事:在 kb_parser 方法中编写你的文件处理逻辑。平台会自动调用你的解析逻辑处理用户上传的文件,这个方法会收到平台传递进来的 4 个参数:
filename:文件名(如"产品手册.pdf")
binary:文件的二进制数据
lang:文件语言(如"chinese"或"english")
user:当前登录用户信息示例:如果你想处理 PDF 文件,你可以在这里添加 PDF 解析代码;如果想处理 Excel 表格,可以添加表格解析逻辑。开发者可以基于这些输入信息,自定义实现文件解析和切片处理逻辑。返回的解析结果需符合以下结构规范:
[{"content": "这是测试文件\n这是测试内容\n", "docnm_kwd": "text.txt", "title_tks": "text", "content_with_weight": "这是测试文件\n这是测试内容\n", "content_ltks": "这 是 测试 文件 \n 这 是 测试 内容 \n ", "content_sm_ltks": "这 是 测试 文件 \n 这 是 测试 内容 \n "
}]
说明:整个返回结果是一个数组,每个数组项对应一个切片。这个脚手架让复杂的文件解析变得简单,你只需要专注于业务逻辑,其他的技术细节都已经帮你处理好了!
部署自定义的知识库解析插件服务
脚手架工程作为独立服务,可以自行部署。部署成功后,需要在平台上注册该服务为插件服务:

(进入发布知识库解析插件服务页面)

(填写必要的部署字段后发布)
配置并使用自定义逻辑
当自定义逻辑部署成功后,进入知识库的配置页面,在知识库配置中,选择已部署的自定义解析方法,即可使用自定义的知识切片逻辑。

(知识库配置界面参考示例)
效果:精准切片带来更全面的检索结果
通过定制化开发,成功实现了法院裁判案例文档的切片处理逻辑。在本地测试中,处理逻辑完全满足需求,并按照操作流程将服务注册到 UniverAI 平台,并配置到知识库中。
定制的法院判例文档切片规则逻辑如下:
切片逻辑:按照裁判要点、基本案情等自然段落进行分割。
附加信息:每个切片都自动附加案件名称和关键词,以便提高检索的上下文关联性和追溯能力。[图片]
通过定制的切片规则,知识库的处理效果完全符合需求:
精准分割:裁判要点和案件基本案情被精确切片,知识块结构清晰且不失上下文。
附加元数据:每个切片都包含案件名称和关键字,确保检索结果的完整性与可追踪性。

检索效果的显著提升在律师类案检索中,定制化的切片规则显著提升了检索质量:
检索更加全面:裁判案例中关键信息完整保留,没有遗漏案例。
高效匹配:附加关键词优化了检索的相关性,使智能体能更准确地匹配用户输入的搜索内容。通过优化文档切片规则,律师类案检索的效果得到了显著提升,为用户提供了更精准、更高效的服务体验。
延伸阅读
UniverAI 平台中,RAG 技术中的知识切片与向量化:构建高效知识库的核心步骤:https://bcn2qkzdygmm.feishu.cn/wiki/Bh4Ew7wreiBTe7kKZDjcgqxAn2e
如何使用 UniverAI 平台自定义知识库加工逻辑:https://bcn2qkzdygmm.feishu.cn/wiki/Iej9wKAaCiYmaGkjdPMcaaFBnqb
UniverAI 平台中零代码搭建智能体 (如何从头创建知识库):https://bcn2qkzdygmm.feishu.cn/wiki/TvLVwEnmwieaW2kiWRMcSZf4nve
版权声明: 本文为 InfoQ 作者【UniverAI智宇苍穹】的原创文章。
原文链接:【http://xie.infoq.cn/article/b5f4d5120ed2fb592271166ca】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论