必须用分流器将超2800字符的文本按1800字符切分并保留句子完整性,再通过批处理节点解包数组,否则大模型输入会被静默截断。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要把一篇上万字的行业报告喂给大模型做深度分析,但直接提交会触发超长文本截断或生成质量崩塌——这时候必须用分流器把原文切成语义连贯、长度可控的段落,再分发给不同节点并行处理。
确认文本是否真需要分流
打开扣子工作流画布,先拖入一个「开始」节点,在其输出字段中填入待处理文本。如果该文本长度 【超过2800字符】,且后续节点是大模型(如GPT-4、Qwen-Max),就必须加分流器;若只是调用LinkReaderPlugin或代码节点做清洗,可跳过此步。
注意:扣子平台对单次输入到大模型节点的文本长度有硬性限制,超限将静默截断后半部分,不会报错也不会提醒。
添加分流器节点并配置切分逻辑
在画布空白处点击「添加节点」→ 选择「工具」分类 → 找到并添加「分流器」节点(图标为三条平行箭头分叉)。
双击该节点进入配置页:
- 切分方式选「按字符数」
- 每段最大长度填 【1800】(留出200字符余量供提示词和系统指令使用)
- 启用「保留句子完整性」开关——否则可能在句中强行截断,导致后续大模型理解错乱
这一步不能填2000或2500。实测发现,当设为2000时,部分段落末尾会卡在“因此”“然而”等转折连词后,造成语义断裂;1800是兼顾吞吐量与语义安全的临界值。
连接分流器与下游节点
第一步:将「开始」节点的输出字段(如text)拖拽连线至「分流器」节点的输入口。
第二步:从「分流器」节点右侧三个出口分别引出连线:
- 「第一段」→ 连接到第一个大模型节点(用于生成摘要)
- 「第二段」→ 连接到第二个大模型节点(用于提取数据表格)
- 「剩余段落」→ 连接到「批处理节点」(统一交由并行引擎调度)
「剩余段落」出口输出的是一个数组,不是单个字符串。如果你把它直接连给普通大模型节点,会报错“期望字符串,得到列表”。必须接「批处理节点」或「代码节点」来解包。
用代码节点做智能语义补全(可选进阶)
方法一:在分流器后加一个「代码节点」,粘贴以下Python逻辑:
```python
import re
segments = []
for seg in input["segments"]:
# 去除首尾空格,合并被切断的短句
cleaned = seg.strip()
if len(cleaned) segments[-1] += " " + cleaned
else:
segments.append(cleaned)
output["segments"] = segments
```
方法二:改用正则预处理——在「开始」节点后先接一个「代码节点」,用 re.split(r'(? 按中文句末标点切分,再按需合并至1800字内。比纯字符切分更抗干扰,但对无标点长段落(如代码块、表格文字)容易失效。
验证分流效果
点击画布右上角「试运行」,在输入框中粘贴一段3200字的测试文本。
运行后查看「分流器」节点的输出日志:
✅ 正常情况:显示 "segments": ["第1段内容...", "第2段内容...", ...],共2~3个元素,每段长度在1750~1800之间
❌ 异常情况:若只输出1个元素且长度仍为3200,说明「保留句子完整性」开关未开启,或输入文本本身无换行/无标点,需退回上一步改用代码节点预处理。











