资讯中心

LLM Zoomcamp 分块实战指南:将长文本切分为高质量 RAG 检索单元

📅 2026/9/26 5:34:22
LLM Zoomcamp 分块实战指南:将长文本切分为高质量 RAG 检索单元
LLM Zoomcamp 分块实战指南将长文本切分为高质量 RAG 检索单元【免费下载链接】llm-zoomcampLLM Zoomcamp - a free online course about real-life applications of LLMs. In 10 weeks you will learn how to build an AI system that answers questions about your knowledge base. Register here 项目地址: https://gitcode.com/GitHub_Trending/ll/llm-zoomcampRAG检索增强生成系统的检索质量很大程度上取决于文档在索引之前如何被分块Chunking。本文基于 LLM Zoomcamp 课程的分块专题文档etc/chunking.md系统讲解从启发式规则到 LLM 智能分块的各种策略并结合仓库中项目实战模块与数据摄取模块的源码实现给出可直接落地的分块方案与评估方法。读完本文你将能够针对 FAQ、文章、YouTube 转录本、书籍、幻灯片等不同形态的内容选择并实施正确的分块策略并用 Hit Rate 与 LLM-as-a-Judge 验证分块效果。为什么分块是 RAG 的成败关键LLM Zoomcamp 的分块专题文档开篇即指出RAG 通过为语言模型提供外部数据访问来增强其能力这一方法对 YouTube 视频转录本这类非结构化数据尤其有效——转录内容不按清晰的问答格式组织需要先被切分成模型可以处理的、语义自洽的单元。分块Chunking就是把大文档拆分成更小、可管理的片段。它对 RAG 至关重要因为它直接决定了检索结果的相关性与准确性块太小单个块缺少上下文检索到的信息碎片化块太大块内混入无关内容语义被稀释还会超出模型的上下文窗口。课程项目模块cohorts/2026/07-project-example/01-intro.md中的 FAQ 数据天然是一问一答的结构化对每个文档本身就是最合适的分块单元而当你面对文章、转录本、幻灯片时就必须主动设计分块策略。启发式分块策略Heuristic-based Chunking基于规则的启发式分块简单、可预测、零成本适合快速起步。原文档将其归纳为三类固定大小分块Fixed-size Chunking固定词数按特定词数切分如 200–500 词实现简单块大小均匀固定时间间隔对视频转录本按时间切片如每 2 分钟视频内容一段固定句子数按固定句子数量切块如 5–10 句。这种策略的优点是实现成本最低缺点是切分点可能与语义边界错位同一主题可能被拦腰截断。语义边界分块Semantic Boundaries基于停顿Pause-based利用转录本时间戳中的停顿或静默作为切分点假设停顿往往意味着话题转移说话人轮换Speaker Turn在说话人切换处分块特别适合访谈或圆桌讨论类内容。结构分段Structural Segmentation基于段落Paragraph-based以自然段作为块边界假设段落断点反映主题或子主题变化章节标题Section Headers若转录本或文档带有章节标题直接以标题定义块边界。课程项目模块进一步补充了这类策略的落地经验对于多篇文章先为每篇文章分配文档 ID再切块并为每个块分配唯一块 ID如doc_id_1、doc_id_2最后分别按文档 ID 与块 ID 计算检索 Hit Rate对于单篇长文或转录本YouTube 转录本、PDF 等直接切块后按相同方式评估并可通过youtube-transcript-api编程获取转录文本。详见 cohorts/2026/07-project-example/07-chunking.md。LLM 智能分块LLM-based Intelligent Chunking当固定规则无法捕捉内容的语义结构时可以让 LLM 参与分块。原文档给出四类策略主题分块Thematic Chunking用 LLM 识别并划分连贯主题每个块代表一个独立话题或先用 LLM 总结全文关键点再按总结线索切分。上下文分段Contextual Segmentation用嵌入计算语义相似度让内容语境一致的文本聚成一个块LLM 可进一步精修块内主题一致性动态分块则允许 LLM 根据内容密度调整块大小确保密集或复杂章节被充分表达。层次结构化Hierarchical Structuring让 LLM 自动将文本划分为带标题的章节形成大纲式结构或将内容归类到预定义类别如引言、讲解、结论中再结构化。意图分块Intent-based Chunking用 LLM 从转录本生成潜在问题并按问题组织块模拟 QA 格式或分析用户查询意图定制直接服务检索需求的块。项目模块把这种方法称为语义分块或逻辑分块semantic/logical chunking将全文交给 LLM先请它切分为逻辑块再为每个块命名每个块就成为可索引、可检索的单元。由于块与真实主题一一对应它往往比固定大小切分产生更优的检索结果。在 RAG 工作流中落地分块原文档给出了将分块策略融入 RAG 管线的完整步骤预处理Preprocessing从原始音视频用语音转文字STT模型生成转录文本清洗填充词、无关内容与转录错误。分块Chunking应用一种或多种分块策略将转录本切分为有意义的单元推荐启发式与 LLM 方法组合使用实现效果平衡。索引Indexing用合适的嵌入模型如 BERT、Sentence Transformers把块转换为向量并建索引供高效检索。检索Retrieval对给定查询基于语义相似度、关键词匹配或混合方法检索相关块。生成GenerationLLM 结合检索到的块与查询上下文生成回答。YouTube 转录本示例工作流转录与清洗视频转文本清理非必要部分并确保准确分块启发式上每 2 分钟视频时间切一次并按说话人轮换切分智能分块上用 LLM 将文本划分为带Introduction / Key Concepts / Case Studies等标题的章节索引为每个块生成嵌入存入 Elasticsearch 或向量库查询处理用户提交查询后用语义搜索检索相关块答案生成LLM 处理查询与检索块生成连贯准确的回答。仓库中的落点文档 ID 与块 ID 的数据结构项目模块给出了分块后的推荐 JSON 结构见 content-processing-summary.md{ doc_id: abc123, chunk_id: abc123_1, text: first paragraph of the article... }其中doc_id标识来源文档chunk_id通常由doc_id 序号构成text为实际块内容。这一结构与模块一 RAG 管线中使用的文档字典一脉相承——在 ingest.py 中FAQ 数据被加载为含question、section、answer、course等字段的文档列表嵌入时把question与answer拼接成一个文本向量化见 03-embeddings-dataset.md分块场景则把text字段作为嵌入对象检索命中后返回整个块内容供生成阶段拼装上下文。各类内容的仓库实战配方课程项目模块把内容分块细分为四种场景形成可直接套用的配方07-chunking.md内容类型分块方案评估方式多篇文章博客、Wiki每篇文章 文档切块后每块唯一 chunk_id分别按 doc_id 与 chunk_id 计算 Hit Rate用 RAG 评估指标调块大小单篇长文 / 转录本直接切块可用youtube-transcript-api取文本与多篇文章相同书籍 / 超长内容每章或每节视为独立文档尝试不同分块策略用 LLM-as-a-Judge 对比方案优劣图片用 GPT-4o-mini 描述图片每张图片 独立文档也可用 CLIP 嵌入做直接图片检索幻灯片与图片 多篇文章相同整套 PPT 文档单页 块同上书籍场景中每章作为独立文档、用 LLM-as-a-Judge 对比不同分块方案的做法与模块四评估课程cohorts/2026/04-evaluation中的离线评估与 LLM 裁判思路一致先构造 ground truth再量化对比不同分块参数下的检索与回答质量。分块与摄取架构的关系分块发生在内容进入知识库之前。模块一的数据摄取课程09-data-ingestion.md将摄取器Ingestor的职责明确定义为parse解析、chunk分块、embed嵌入、metadata元数据四步随后把带块 ID 的文档写入持久化索引。这意味着分块策略的选择与摄取管线解耦——无论使用 minsearch 的内存索引还是 sqlitesearch、Elasticsearch、Qdrant 等持久化后端分块逻辑都以统一的文档结构doc_id/chunk_id/text输出一旦调整分块策略只需重新运行摄取流程重建索引查询侧代码完全不变——这正是摄取与查询分离架构带来的灵活性。分块调优与评估闭环分块不是一次性决策而是需要评估驱动的迭代。结合仓库文档可总结出闭环离线评估检索基于 ground truth 数据计算 Hit Rate 与 MRR分别对doc_id与chunk_id维度观察相关评估方法见 04-evaluation/05-search-metrics.md 对应课程评估 RAG 回答用 LLM-as-a-Judge 对最终回答打分块大小与切分策略的变化会直接反映在回答相关性上迭代调优项目模块明确建议使用 RAG 评估指标调优块大小——改变固定词数、切换语义边界、或引入 LLM 逻辑分块后重跑评估以数据决定取舍。工具与实现要点原文档给出了一份分块相关的工具清单可作为选型参考语言模型GPT-4、BERT、T5 或领域专用 LLM用于智能分块向量库FAISS、Milvus、Pinecone用于块向量的索引与检索仓库实践中还使用 Elasticsearch、sqlitesearch、Qdrant 等见 09-data-ingestion.md嵌入模型Sentence-BERT、Universal Sentence Encoder用于块嵌入课程主线的 minsearch 方案使用all-MiniLM-L6-v2等 Sentence Transformers 模型语音转文字Google Speech-to-Text、OpenAI Whisper用于初始转录。总结分块策略的选择应与具体用例和数据特征对齐小规模结构化数据如 FAQ 问答对天然无需分块文章与转录本可从固定大小或结构边界起步快速建立基线书籍与长文则建议以章节为文档、借助 LLM-as-a-Judge 实验多种策略图片与幻灯片分别采用图即文档与PPT 即文档、页即块的映射。无论选择启发式还是 LLM 智能分块最终都要回到 Hit Rate、MRR 与 LLM 裁判分数上来验证——分块的终点不是切得均匀而是检索得到、回答得准。【免费下载链接】llm-zoomcampLLM Zoomcamp - a free online course about real-life applications of LLMs. In 10 weeks you will learn how to build an AI system that answers questions about your knowledge base. Register here 项目地址: https://gitcode.com/GitHub_Trending/ll/llm-zoomcamp创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

看完文章,想为自己的企业也做一次专业网站诊断?

尧图顾问免费为您评估现有网站,并给出建站/改版建议与报价方案。

免费获取方案