记录一下那天晚上的排查过程。长文摘要用 2000 字窗口加 200 字重叠,三十万字文档切出 167 片,token 总量比原文多 11%,账单明显高于预算。

刚开始盯着「重叠内容在结果里重复出现」,折腾了半个多小时,排掉了。

真正麻烦的地方在于,几个原因的现象几乎一样。重叠部分被重复计费。也可能是窗口过小导致切片数膨胀。

少数情况下是没有做切片合并去重。

算切片数与理论 token

python -c "print((300000-2000)//1800+1)"

窗口调到 6000 重叠保持 200

python split_win.py --size 6000 --overlap 200

结果按段落去重

python dedup_para.py --input sum.txt --out sum_u.txt

剩下的就是用 map-reduce 分级汇总

python mapreduce.py --level 2 --input parts/

命令输出我都留了记录,免得改完记不清原来的值。

改之前先确认了最近有没有人动过配置,避免白查一遍。

怎么算真的好了,看的是同一批现象。token 总量降到原文的 1.03 倍以内,摘要没有重复句子,覆盖度不变。

提醒一点。重叠是为了语义连贯,代价是重复计费,窗口越大重叠占比越小。线上能稳定复现的问题都不算难,难的是只在大流量下才出现的那种。

作者 9823189