大型语言模型 (LLM) 无法完整处理基于文本的大型输入序列。自然语言处理 (NLP) 模型的上下文窗口决定了模型在保持上下文理解的前提下所能处理的最大内容量。机器学习 (ML) 系统使用分块技术将文档分解成适合 LLM 上下文窗口的片段。
检索增强生成 (RAG) 的发展——将 LLM 与外部数据源连接起来——催生了分块系统的创建需求。RAG 系统的出现有助于解决幻觉问题:当 LLM 给出的答案不能反映真实世界的结果或信息时,就会出现幻觉。
RAG 系统通过为 LLM 配对附加知识库,帮助其生成更准确、更有用的答案。多数情况下,RAG 知识库包含文档的向量数据库,这些文档使连接的 LLM 能够访问特定领域的知识。嵌入模型将文档转换为数学向量,然后对用户查询执行相同的操作。
RAG 系统在其向量数据库中查找与用户查询匹配的相关信息嵌入表示。然后,LLM 使用检索到的数据为用户提供更相关和更准确的答案。
但由于上下文窗口的限制,LLM 无法一次性处理整个文档。分块技术由此成为解决方案。通过将文档分解为片段,LLM 可在保持上下文理解的同时,实时高效查找相关分块。
智能体分块允许 LLM 创建有意义的分块,从而在 RAG 等应用场景中提供更佳答案。部分分块方法会考虑语义因素,另一些则直接将文档分割为固定大小的小分块。
其他分块方法包括:
固定大小分块是最简单的分块策略,根据预设字符数或词元数量将文本分割为等长分块。词元是 LLM 可处理的最小文本单位,通常为一个单词或单词片段。
为避免破坏句子完整性,多数固定大小分块实现包含重叠特性,即在下一个分块的开头重复上一个分块的结尾。固定大小分块简单且计算轻量,但缺乏灵活性,它无法适应内容密度与文档结构,可能产生语义不连贯的分块。
递归分块使用预定义文本分隔符的层级列表来分割文本,通常能产生更连贯的分块。分隔符包括自然存在的文本结构,如段落、句子或词语。在 Python 编码文档中,分隔符可以包含类和函数定义。
相较于固定大小分块,递归分块通过遵循文本自然分隔边界生成更连贯的分块。标记语言的使用也有助于分块算法确定分割边界。RecursiveCharacterTextSplitter 是 LangChain 中常用的分块器。
但是,如果文本缺少清晰的分隔符,递归分块算法将无法确定新分块的创建位置。递归分块的计算强度也高于固定大小分块。
语义分块使用嵌入模型来创建每个句子的数学表示。分块算法随后将语义相似的句子聚合为分块,当检测到语义变化时创建新分块。该技术由 Greg Kamradt 在 GitHub 上提出。1
语义分块具有上下文感知能力,围绕文档的自然流向与语义含义构建分块。当主题更改时,会创建新区块。但当段落讨论多个主题,或分块阈值未根据文档类型与结构恰当设置时,可能产生问题。
语义分块的计算强度高于递归分块与固定大小分块,且需要先进模型来识别文本中的语义内容。
智能体分块是自动化的一个示例:使用 AI 智能体来自动化工作流。在这种情况下,工作流被智能自动化,是确定如何将文档分割为适合 LLM 上下文窗口的更小分块的过程。
智能体 AI 是指使用 AI 系统在没有人为干预的情况下做出自主决策和采取行动。在智能体分块中,智能体自主决定如何分割文本并标注分块。
智能体分块从其他分块方法中提取,以创建重叠部分和递归分割,然后应用生成式 AI 为每个分块添加元数据标签,以便于检索 RAG。
智能体分块仍处于探索阶段。创建者在 GitHub 上分享和讨论他们的方法。这些方法通常使用 Python 编码语言,结合 Llamaindex 和 Langchain 等 LLM 框架以及 Huggingface 上可用的开源 LLM 来构建。
智能体分块的典型 AI 工作流可能包含以下步骤:
利用智能自动化工具,从源文档(例如 PDF)中提取文本并进行清理。文本清理涉及删除页码、页脚等冗余元素,确保向 LLM 仅提供原始文本。
递归分块算法将文本分割为小片段以避免切断句子。与语义分块类似,智能体分块通过分块重叠技术,基于含义、结构与上下文感知动态分割文本。
LLM(例如 OpenAI 的 GPT)处理、组合和丰富这些分块。小分块合并成大分块,以保持语义连贯性。LLM 使用元数据丰富每个分块,其中包括分块内容的标题和摘要。生成的元数据有助于下游应用,例如智能体 RAG 系统。
每个分块最终被转换为嵌入向量,存储于向量数据库中。检索模型通过查询向量数据库,运用语义搜索技术查找包含相关元数据的分块,并将这些分块纳入 RAG 系统中 LLM 的提示上下文。
LangChain 中的 Prompt_Template 设置决定了向 LLM 提供的输入提示。了解更多关于如何使用 LangChain 和 watsonx.ai 优化 RAG 分块的信息。
与传统分块方法相比,智能体分块的动态特性与元数据标注能力使其特别适合 RAG 场景的实施。优点包括:
高效检索: AI 为每个分块生成的标题与摘要,可帮助 RAG 系统在关联数据集中更快定位相关信息。
精准响应:具有语义连贯性的分块搭配 AI 生成的元数据,能助力 RAG 系统用相关数据增强生成响应,提升答案质量。
灵活适配:AI 驱动的分块技术可处理多种文档类型。智能体分块系统能与各类 LLM 及 RAG 链集成,适应项目发展与扩展需求。
内容保存:智能体分块系统在传统分块方法基础上构建,确保生成的分块保持语义完整性与连贯性。
构建、部署和管理强大的 AI 助手和智能体,运用生成式 AI 实现工作流和流程自动化。
借助值得信赖的 AI 解决方案,您可以勾勒未来业务发展蓝图。
IBM Consulting AI 服务有助于重塑企业利用 AI 实现转型的方式。