优化检索之前,先解决好chunking(文本切片)策略,才能打通用户与信息之间的无形壁垒。
• Chunking是将文本拆分成更小的“块”(chunk),每个chunk作为向量化和存储的基本单位。
• 合理的chunking策略影响检索效果和RAG系统的上下文信息量。
• 没有万能适用的chunking方法,需结合具体用例灵活选择。
6大核心chunking技术:
→ 固定大小Chunking(Fixed-Size Chunking):简单经济,忽略文本结构,适合起步尝试。支持重叠chunk提升上下文感知。weaviate.io/learn/knowledgecards/fixed-size-chunking
→ 递归Chunking(Recursive Chunking):先按段落等主分隔符切,再递归用句子等细分,尊重文本结构,灵活适配各种场景。weaviate.io/learn/knowledgecards/recursive-chunking
→ 文档结构Chunking(Document-Based Chunking):基于文档自然分区如标题、章节,适合HTML、Markdown等结构化文本。weaviate.io/learn/knowledgecards/documentbased-chunking
→ 语义Chunking(Semantic Chunking):先划分成有意义单元(句子/段落),基于向量余弦距离合并,检测上下文变化生成chunk。weaviate.io/learn/knowledgecards/semantic-chunking
→ LLM驱动Chunking(LLM-Based Chunking):利用大语言模型生成语义隔离且独立成章的句子或命题,精准度高但计算成本大。weaviate.io/learn/knowledgecards/llmbased-chunking
→ 晚期Chunking(Late Chunking):先对全文嵌入,再基于token级向量分块,最大程度保留全文上下文,兼顾成本与效果。weaviate.io/blog/late-chunking
💡 实用建议:
• 从固定大小chunking开始,根据需求逐步探索更复杂策略。
• 技术文档推荐文档结构chunking;对话类数据语义chunking表现优异。
详细入门请见:docs.weaviate.io/academy/py/standalone/chunking/introduction
向量数据库 文本切片 信息检索 RAG 大语言模型