






















from langchain_experimental.text_splitter import SemanticChunker
SemanticChunker 不是 LangChain 的内置组件,而是属于 langchain-experimental 包,这是一个 实验性功能 的扩展库,包含了一些尚未稳定或官方不推荐生产使用的模块。
SemanticChunker是一个基于 语义相似性 进行文本分块的实验性工具,它通过嵌入模型判断段落之间的语义距离,动态决定在哪里切分文本。
SemanticChunker 的核心思想是:
不是按字符数或token数硬切,而是根据语义相似度“智能”切分。
表格
复制
| 步骤 | 描述 |
|---|---|
Python
复制
SemanticChunker(
embeddings, # 嵌入模型,如 OpenAIEmbeddings()
buffer_size=1,
Python
复制
from langchain_experimental.text_splitter import SemanticChunker
from langchain_openai import OpenAIEmbeddings
embeddings = OpenAIEmbeddings()
text_splitter = SemanticChunker(embeddings)
text = "你的长文本内容..."
docs = text_splitter.create_documents([text])
for doc in docs:
print(doc.page_content)
表格
复制
| 项目 | 说明 |
|---|---|
如果你需要稳定的语义分块,可以考虑:
RecursiveCharacterTextSplitter(LangChain内置)
自定义语义分块:用SentenceTransformer + 聚类/滑动窗口自己实现。
SemanticChunker是 langchain-experimental 提供的“语义感知”分块器,用嵌入模型找语义断点,聪明但贵慢,适合实验,不适合量产。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。