chunk优化
- 使用
chunking_strategy切片策略- 根据识别出的标题、章节结构进行分块
- 解决语义断裂导致回答截断
- 这样搜索会更精准、也能省token
- chunk_size 控制块大小
- 配置chunk_overlap避免语义被切断、保留上下文重叠
- 文档生成chunk之后,是分批给到Embedding来生成向量
chunk分批生成向量
- 如果文档过大,一次性把chunk给到Embedding模型,生成向量,会造成部分chunk生成向量失败
- 有些模型,可能不支持大批量的chunk文档请求
- Embedding 服务通常有单次请求输入数量 / Token 数限制
- 一次提交太多 Chunk,HTTP 请求体会很大
- 容易遇到超时、限流
429、网络错误 - 失败的话重试成本高
- 如果一个 PDF 很大,切完以后可能有几百、几千个 Chunk。此时不建议把所有 Chunk 一次性传给 Embedding API
- 有些模型,可能不支持大批量的chunk文档请求
- Chunk 分批调用 Embedding
- 比如每20个chunk为一组,分批处理生成向量,当完成之后,在统一写入向量数据库
- 每批生成完成成功后,每批写数据库
优化方案流程
PDF 解析
↓
切成 chunk(当前约 800 字符/块)
↓
每 20 个 chunk 组成一批
↓
发送给 Embedding 模型生成 20 个向量
↓
继续处理下一批
↓
全部完成后统一写入数据库