微信扫码
添加专属顾问
我要投稿
深入探索大型文档高效分块技术,提升AI知识库的处理效率和准确性。核心内容:1. 大型文档输入AI知识库的技术挑战与问题2. 文档分块技术的核心理念与优势3. 五种主流分块方法的技术对比与代码实现
from llama_index.core.node_parser import SimpleNodeParser
parser = SimpleNodeParser.from_defaults(
chunk_size=512, # 中文文档建议设置为384 tokens左右
chunk_overlap=64 # 重叠区域,保证上下文连贯性
)
nodes = parser.get_nodes_from_documents(documents)
from llama_index.core.node_parser import MarkdownNodeParser
parser = MarkdownNodeParser()
nodes = parser.get_nodes_from_documents(markdown_docs)
from llama_index.core.node_parser import HTMLNodeParser
parser = HTMLNodeParser(tags=["p", "h1"]) # 指定需要提取的标签
nodes = parser.get_nodes_from_documents(html_docs)
import nltk
from llama_index.core.node_parser import SentenceWindowNodeParser
node_parser = SentenceWindowNodeParser.from_defaults(
window_size=3, # 每侧包含的句子数
window_metadata_key="window",
original_text_metadata_key="original_sentence",
)
from llama_index.core.node_parser import SemanticSplitterNodeParser
from llama_index.embeddings.openai import OpenAIEmbedding
embed_model = OpenAIEmbedding()
splitter = SemanticSplitterNodeParser(
buffer_size=1,
breakpoint_percentile_threshold=95,
embed_model=embed_model
)
from llama_index.core.llms import OpenAI
import json
def llm_chunking(text):
llm = OpenAI(model="gpt-4-turbo")
prompt = f"""将以下技术文档划分为逻辑单元,每个单元包含完整的技术概念:
{text}
返回JSON格式: [{{"title":"单元标题","content":"文本内容"}}]"""
response = llm.complete(prompt)
try:
return json.loads(response.text)
except json.JSONDecodeError:
raise ValueError("LLM响应格式错误")
分块方法 |
处理速度 |
语义保持 |
实现难度 |
适用场景 |
固定分块 |
⭐⭐⭐⭐ |
⭐ |
⭐ |
快速搭建原型系统 |
滑动窗口 |
⭐⭐⭐ |
⭐⭐ |
⭐⭐ |
对话记录、访谈稿 |
结构感知分块 |
⭐⭐⭐ |
⭐⭐⭐ |
⭐⭐ |
特定格式的Markdown/HTML/JSON等文档 |
嵌入分块 |
⭐⭐ |
⭐⭐⭐⭐ |
⭐⭐⭐ |
叙事性长文本 |
LLM分块 |
⭐ |
⭐⭐⭐⭐⭐ |
⭐⭐⭐⭐⭐ |
各种各样的复杂文档 |
Settings.embed_model = dashscope_embed_model()
# 语义分块配置
Settings.node_parser = SemanticSplitterNodeParser(
buffer_size=128, # 保留128 tokens重叠区域
breakpoint_percentile_threshold=95, # 95%阈值自动寻找最佳分割点
embed_model = dashscope_embed_model()
)
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-04-07
解决Dify与Milvus集成难题:从零到一的实战避坑指南
2025-04-07
别只看LLM!为什么知识图谱才是通往AGI的关键一步
2025-04-07
腾讯ima支持Markdown格式了,开心了一会又不开心了
2025-04-07
公安专业知识库的构建:DeepSeek大模型技术赋能智慧警务新未来
2025-04-06
Stardog-基于知识图谱的企业级人机协同Agent智能体
2025-04-05
向量数据库 Milvus :为什么都在用它实现搜索效率提升
2025-04-04
AI问答的核心!知识图谱:突破传统 RAG 的天花板
2025-04-04
Basic Memory:构建个人知识图谱的AI对话助手
2025-01-02
2024-07-17
2024-08-13
2025-01-03
2024-07-11
2024-08-27
2024-06-24
2024-07-13
2024-07-12
2024-06-10
2025-03-29
2025-02-13
2025-01-14
2025-01-10
2025-01-06
2025-01-02
2024-12-16
2024-12-10