参考https://www.philschmid.de/agentic-pattern?continueFlag=bbcc81bca91ef1baba75bc1619a0392c#acknowledgements,代码用langchain、ollama进行了改写
这个是一个workflow的Agent 模式,一个任务被分解成多个独立的子任务,由多个 LLM 同时处理,并将其输出汇总。这种模式使用了任务并发功能。初始查询(或其部分内容)与单个提示/目标并行发送给多个 LLM。所有分支完成后,它们的单独结果会被收集起来并传递给最后的聚合 LLM,后者会将它们合成为最终响应。如果子任务之间不相互依赖,这就能改善延迟,或通过多数表决或生成不同选项等技术提高质量。
使用案例:
- 查询分解 RAG: 将复杂查询分解为子查询,并行运行每个子查询的检索,然后合成结果。
- 分析大型文档: 将文档分成若干部分,并行汇总每个部分,然后合并汇总结果。
- 生成多种观点: 用不同的角色提示向多个 LLM 提出相同的问题,然后汇总他们的回答。
- 对数据进行 Map-reduce 式操作。
如下是一