AI 入门:一步步学会文本分块(Chunking)
本文用零基础友好的方式,教你理解文本分块的概念、常用方法,并动手安装工具完成第一次分块操作。
什么是文本分块?
在 AI 处理长文本时,常常需要把大段文字切成小段,这个过程就叫文本分块。分块可以让模型更高效地理解和检索信息。本教程将带你了解几种常见分块方法,并动手安装工具实现一次简单的分块。
准备工作:安装 Python 和必要的库
首先,确保你的电脑上已经安装了 Python(一种编程语言)。如果没有,可以去 python.org 下载最新版本。安装时记得勾选“Add Python to PATH”。
然后,打开终端(Windows 用户按 Win+R,输入 cmd;Mac 用户打开“终端”应用),运行以下命令安装分块所需的库:
pip install langchain—— LangChain 是一个 AI 开发框架,里面包含很多文本处理工具。pip install pypdf—— 用于读取 PDF 文件。
如果安装速度慢,可以加上国内镜像源,比如:pip install langchain -i https://pypi.tuna.tsinghua.edu.cn/simple。
动手尝试:用滑动窗口分块
滑动窗口是一种常用的分块方法,它通过设定窗口大小(每个块包含多少个字符)和步长(每次窗口移动多少字符)来生成重叠的块。下面我们用一段示例文本演示:
- 打开任意文本编辑器(比如记事本),复制以下文字:
Redis is an open-source, in-memory data store that is primarily used as a cache, database, and message broker. - 保存为
sample.txt。 - 在终端中进入该文件所在目录,运行 Python:
python - 输入以下代码(每行后按回车):
from langchain.text_splitter import RecursiveCharacterTextSplitterwith open('sample.txt', 'r') as f:text = f.read()splitter = RecursiveCharacterTextSplitter(chunk_size=15, chunk_overlap=5)chunks = splitter.split_text(text)print(chunks) - 你会看到输出类似:
['Redis is an op', 's is an open-so', ...],这就是分块后的结果。
常见坑:chunk_size 和 chunk_overlap 的值要根据文本长度调整,太小会产生大量碎片,太大则失去分块意义。
下一步可以做什么
学会基本分块后,你可以:
- 尝试不同的分块方法,比如基于 token 的分块(将文本按 token 数量切分,适合有速率限制的模型)。
- 处理 PDF 文件:使用
from langchain.document_loaders import PyPDFLoader加载 PDF,再分块。 - 将分块后的文本存入向量数据库,用于构建简单的问答机器人。
记住,没有万能的分块方法,多尝试才能找到最适合你数据的方案。
内容来源
DEV Tutorial
发布时间
2026-05-16 01:31