当前位置: 首页 > news >正文

RAG 中常见的文本分块(chunk)方法及实战代码示例

在构建 RAG(Retrieval-Augmented Generation)系统时,文本切分(chunking)是第一步,决定了检索效果和生成质量。

很多初学者遇到问题的根源就在于“没分好 chunk”!


什么是 Chunk?

在 RAG 场景中,我们会把一整篇文档切成多个“小段”,每一段叫一个 chunk

这些 chunk 会:

  • 被转成向量
  • 存入向量数据库(如 Faiss / Milvus)
  • 后续检索时再被组合成上下文用于大模型生成

常见 Chunk 切分策略

方法简介优点场景
固定字符切割每 N 字一个 chunk简单易用快速测试、小文件
分段分句\n\n、标点切保留语义结构正文清晰的报告类文档
滑窗 + 重叠(推荐)chunk 之间有一定重叠保证上下文连续性长文档、问答类任务最常用

参数建议参考

参数说明推荐值
chunk_size每段最大长度(字符数)500~1000
chunk_overlap相邻 chunk 的重叠长度100~300
separators自定义分割符[“\n\n”, “\n”, “。”]

🧪 完整代码:用 LangChain 分割文本为 Chunk

pip install langchain

核心代码

from langchain.text_splitter import RecursiveCharacterTextSplitter# 1️⃣ 定义示例文本(可替换为你自己的内容)
text = """
RAG(Retrieval-Augmented Generation)是将外部知识与大语言模型结合的一种技术方式,
通过“先检索、再生成”的流程,让模型能结合知识库回答问题。
而文本切分,就是其中的关键第一步。
"""# 2️⃣ 初始化分块器(推荐配置)
text_splitter = RecursiveCharacterTextSplitter(separators=["\n\n", "\n", "。"],  # 语义感知分段chunk_size=1000,   ## 最大长度chunk_overlap=200  ## 重叠长度
)# 3️⃣ 执行分块
chunks = text_splitter.split_text(text)# 4️⃣ 输出查看:前几个 chunk 结果
print(f"总共分成 {len(chunks)} 块:\n")
for i, chunk in enumerate(chunks):print(f"第 {i+1} 块内容:\n{chunk}\n{'-'*30}")
http://www.dtcms.com/a/312637.html

相关文章:

  • 基于开源AI智能客服、AI智能名片与S2B2C商城小程序的餐饮行业私域流量运营策略研究
  • JavaEE初阶第十三期:解锁多线程,从 “单车道” 到 “高速公路” 的编程升级(十一)
  • 最新Android Studio汉化教程--兼容插件包
  • 日产轩逸全面评测:可靠性高十万公里无大修,科技配置落后
  • Starrocks ShortCircuit短路径的调度
  • c++类和对象(0基础也能懂)
  • ThinkPHP8学习篇(一):安装与配置
  • 力扣 hot100 Day64
  • Unity_数据持久化_XML序列化与反序列化
  • 设计模式学习[17]---组合模式
  • Android 之 RxJava2
  • 电商系统定制开发流程:ZKmall开源商城需求分析到上线全程可控
  • Node.js (Express) + MySQL + Redis构建项目流程
  • C++ 入门基础(3)
  • 从零开始学Express,理解服务器,路由于中间件
  • Ubuntu20.04 Carla安装与和Ros联合仿真
  • OpenCV轻松入门_面向python(第一章OpenCV入门)
  • Kafka——怎么重设消费者组位移?
  • 北京-4年功能测试2年空窗-报培训班学测开-第六十六天
  • 「iOS」————属性关键字底层原理
  • Jupyter Notebook 中高效处理和实时展示来自 OpenCV 和 Pillow 的图像数据探究
  • 网络缓冲区的设计以及C++实现
  • 【Python练习】075. 编写一个函数,实现简单的语音识别功能
  • 项目日记---高并发内存池整体框架
  • 人工智能与医疗健康:AI 助力医疗的新格局
  • 信号传播速度与延时
  • [硬件电路-143]:模拟电路 - 开关电源与线性稳压电源的详细比较
  • PLC传感器接线与输出信号接线
  • Redis实战(7)-- 高级特性 Redis Stream数据结构与基础命令
  • 【0基础PS】PS工具详解--文字工具