真正有效的文本切分应按中文句末标点(句号、问号、感叹号)语义断句,避免硬截字符导致句子割裂和指代丢失,确保因果逻辑连贯。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

直接用 text[:n] 硬切会割裂句子、丢掉关键指代,导致每段摘要互相矛盾。真正有效的拆分必须锚定语义边界,并为后续拼接留出上下文接口。
按中文句末标点做语义切分
硬按字符数切(比如每段 1500 字)容易把一句完整的话从中间劈开,模型读到“由于该协议未校验签名”,下一段才出现“因此存在重放风险”,就无法建立因果链。应优先以句号、问号、感叹号为断点。
- 用正则
r'(? 分割,保留标点不丢失 - 逐句累加,当累计字符数 ≥ 12000(约对应 24K token,留出 prompt 和输出余量)时封箱
- 每段开头加指令前缀:
请仅基于本段内容回答问题,不参考其他段落。 - 避免单句过长:若某句本身超 800 字,强制在逗号或分号处补切(需人工复核)
带重叠的滑动窗口切分
适用于含长程指代的文本,比如合同里“甲方”“乙方”在首段定义,后文全靠代词推进。纯无重叠切分会让后续段落失去主语锚点。
统一LLM网关 - 一个API对接70+AI模型,使用单一API密钥即可调用GPT、Claude、Gemini、Qwen、Deepseek、Grok等主流模型。
- 基础长度设为 16000 字符,重叠取 20%,即每次新段落包含前一段末尾 3200 字符
- 重叠区必须落在完整句内——不能截断句子,宁可少重叠 200 字也要保句意完整
- 每段末尾加唯一标识:
【窗口#3-尾部重叠】,方便后期比对重复提取项 - API 请求时,在
messages[0].content中显式写入重叠部分,不要指望模型自动“记住”
用标题层级驱动切分
技术文档、论文、合同等结构化文本,天然具备语义块。强行按字数切会把“3.2 接口鉴权流程”和其下属的 5 个子步骤拆散,模型无法还原逻辑链条。
- 用正则匹配中文标题:
r'^(第[一二三四五六七八九十]+[章节]|[\d.]+\s+[^\n]+)$'(需根据实际格式微调) - 每个标题块内部再校验长度:若 > 18000 字符,回退到最近一个句号处分割
- 每块开头插入结构提示:
【章节起始:4.1 错误码定义】,结尾加【章节终止】 - 不依赖模型识别标题:DeepSeek V4 对 Markdown 标题解析不稳定,必须靠预处理显式标记
最易被忽略的是清洗环节——PDF 转文本常带页眉“©2026 DeepSeek 文档库 第 3 页”、乱码空格、全角括号,这些都会吃掉 5%~10% 的有效 token 配额。切分前务必执行 clean_text():替换全角标点、压缩连续空白、删除重复行,否则你以为切了 5 段,其实第 3 段因隐藏字符超标被静默截断。










