惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Project Zero
Project Zero
D
Docker
爱范儿
爱范儿
V
V2EX
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
人人都是产品经理
人人都是产品经理
博客园 - Franky
IT之家
IT之家
C
CXSECURITY Database RSS Feed - CXSecurity.com
美团技术团队
博客园 - 三生石上(FineUI控件)
小众软件
小众软件
Y
Y Combinator Blog
Cyberwarzone
Cyberwarzone
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Engineering at Meta
Engineering at Meta
D
DataBreaches.Net
WordPress大学
WordPress大学
宝玉的分享
宝玉的分享
C
Cyber Attacks, Cyber Crime and Cyber Security
Apple Machine Learning Research
Apple Machine Learning Research
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
大猫的无限游戏
大猫的无限游戏
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
S
Security Affairs
The Hacker News
The Hacker News
N
News and Events Feed by Topic
Attack and Defense Labs
Attack and Defense Labs
Vercel News
Vercel News
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Hacker News: Ask HN
Hacker News: Ask HN
博客园_首页
H
Hacker News: Front Page
S
Secure Thoughts
L
LINUX DO - 最新话题
C
CERT Recently Published Vulnerability Notes
雷峰网
雷峰网
The Last Watchdog
The Last Watchdog
P
Palo Alto Networks Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Hacker News - Newest:
Hacker News - Newest: "LLM"
G
GRAHAM CLULEY
Simon Willison's Weblog
Simon Willison's Weblog
T
The Blog of Author Tim Ferriss
Latest news
Latest news
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Scott Helme
Scott Helme
Security Latest
Security Latest
N
Netflix TechBlog - Medium
阮一峰的网络日志
阮一峰的网络日志

博客园 - ExplorerMan

大模型sft微调参数优化2 大模型RAG实战,从被骂不靠谱到成为部门MVP,这是我的踩坑全记录【转】 推荐 Prompt 模板(大幅提升 JSON 质量) 渐进式SFT内化 [推荐]双塔模型(介绍) Agno - 轻量级Python多智能体系统框架 Open WebUI:打造友好且强大的自托管 AI 平台 【gradio】使用Gradio快速开发前端界面:基础知识 文本切割方案进化概览:从“机械切割”到“智能解构” 大模型RAG的上下文压缩与过滤 基于LangChain 实现 Advanced RAG-后检索优化(上)-Reranker 基于LangChain 实现 Advanced RAG-后检索优化(下)-上下文压缩与过滤 多Agent协作入门:基于A2A协议的Agent通信(中) ollama部署与open-webui 0基础也能看懂!从0到1手把手教你本地部署大模型Ollama 什么是 AutoModel 大模型基础应用框架(ReACT\SFT\RAG)技术创新及零售业务落地应用 - ExplorerMan - 博客园 多模态Embedding模型:从文本到多模态的全面选型指南! rag 查询检索轮换
SemanticChunker 语义相似拆分
ExplorerMan · 2025-10-11 · via 博客园 - ExplorerMan

from langchain_experimental.text_splitter import SemanticChunker

SemanticChunker 不是 LangChain 的内置组件,而是属于 langchain-experimental 包,这是一个 实验性功能 的扩展库,包含了一些尚未稳定或官方不推荐生产使用的模块。


✅ 一句话总结:

SemanticChunker 是一个基于 语义相似性 进行文本分块的实验性工具,它通过嵌入模型判断段落之间的语义距离,动态决定在哪里切分文本。


🔍 内部实现机制简介

SemanticChunker 的核心思想是:

不是按字符数或token数硬切,而是根据语义相似度“智能”切分。

1. 工作流程概览:

表格

复制

步骤描述
1. 句子分割 先用正则或NLTK等方式把文本切成句子列表。
2. 嵌入向量化 对每个句子调用嵌入模型(如OpenAI、SentenceTransformer)生成向量。
3. 计算相似度 计算相邻句子之间的余弦相似度。
4. 断点检测 如果相似度低于某个阈值,就认为这里是“语义断裂点”,可以切分。
5. 合并块 根据断裂点将句子合并成块,控制块的最大长度(如token数)。

🧠 关键参数(初始化时)

SemanticChunker(
    embeddings,              # 嵌入模型,如 OpenAIEmbeddings()
    buffer_size=1,           

🧪 示例代码

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)

⚠️ 注意事项

表格

复制

项目说明
性能 每句都要调嵌入模型,速度慢,不适合大批量实时处理。
成本 如果用OpenAI嵌入,token费用高。
实验性 接口可能随时变,不建议生产环境使用。

✅ 替代方案(稳定版)

如果你需要稳定的语义分块,可以考虑:

  • RecursiveCharacterTextSplitter(LangChain内置)

  • 自定义语义分块:用SentenceTransformer + 聚类/滑动窗口自己实现。


📌 总结一句话:

SemanticChunker 是 langchain-experimental 提供的“语义感知”分块器,用嵌入模型找语义断点,聪明但贵慢,适合实验,不适合量产。