0%
带滑动窗口的句子切分(Sliding Windows)

- 核心思想:通过设置窗口节点(window_size=3)实现精细检索与全面生成的平衡,解决这对”矛盾共同体”
- 实现方式:将文档切分为核心句子后,在metadata中存储前后3个句子作为上下文
- 优势:
- 检索时能精准定位核心句子
- 生成时保留完整语义连贯性
- 典型实现:LangChain和LlamaIndex中的相关功能
- 应用场景:适用于需要同时保证检索精度和生成质量的场景,如问答系统、知识检索等
分块时混合生成父子文本块(Parent-Child Docs)

- 三级结构:
- 父文档:完整PDF或大文本块(可达百万token)
- 子文档:精细切分的小文本块(用于向量检索)
- 关联机制:子文档metadata包含Parent ID链接父文档
- 存储策略:
- 子文档存入向量数据库
- 父文档存储在硬盘/内存等常规存储
- 检索流程:
- 通过子文档精准召回内容
- 根据Parent ID获取完整父文档上下文
- 适用场景:当大模型处理能力强但嵌入模型输入限制时(如8000token限制)
分块时为文本块创建元数据

- 关键元数据类型:
- 基础信息:文件名、页码、创建时间
- 语义标签:类型(如10Q财报)、年份(如2024)
- 业务标签:金融、科技等行业分类
- 实现方法:
- 使用LlamaIndex自动工具
- 调用大模型分析生成标签
- 典型应用:
- 解决时间敏感问题(如不同年份财报对比)
- 实现精准过滤(如”2024年Uber现金流”查询)
- 重要性:避免检索结果的时间错位(如混淆2022/2023年数据)
在分块时形成有级别的索引(Summary→Details )

- 实现形式:$(\mathsf{Summary} \rightarrow \mathsf{Details})$层级结构
- 典型构建:
- 顶层:5000字文档块的摘要(如年度概况)
- 底层:具体细节内容
- 检索优势:
- 先定位摘要层(如”2023年数据”)
- 再深入细节层(如”2023年GDP具体值”)
- 应用案例:
- 游戏攻略库:先区分《黑神话悟空》与《王者荣耀》
- 财务报告:按年份分层检索
- 防错机制:避免跨领域错误(如混淆不同游戏Boss信息)
文档→嵌入对象(Document→Embedded Objects)

- 核心思想:让不同查询方式处理最适合的数据形式
- 结构化处理:
- 文本节点:存储摘要信息
- 数据节点:连接结构化数据(如Pandas表格)
- 查询路由:
- 向量检索:处理非结构化文本查询
- 结构化查询:处理精确数据查询(如”2023十大富豪”)
- 典型实现:
- LlamaIndex的DFNode节点
- 类似Text-to-SQL的查询转换
- 优势:避免向量检索在处理精确数据时的局限性