Dify实现超长文档分割与大模型处理(流程简单,1.6版本亲测有效)
前言
起因是需要参考几十本英文标准协议对某个方案书中的参数进行更新。英文标准协议随便几千页,方案书也有五百多页,这活当然不能给人干,但直接扔给大模型多少也有点耗费人力,想直接做成自动处理的工作流。因为方案书篇幅大,自然需要考虑如何分割文档进行分段处理
过程
- 因为只是为了自己做个记录,画得很粗糙而且比较简单就不多解释了,有问题评论。
- 2000字为分割步长,中间留有500字重叠,便于逻辑连接,参数可调。
- LLM的prompt自定。
def main(s, doc) -> dict:step = 2000cross = 500if s==1:chapter = doc[0][1:s*step]else:chapter = doc[0][(s-1)*step-cross:s*step]return {"result": chapter,}
结果
- 手头没啥文件,看着来吧哈哈哈