【AI Agent系列】【阿里AgentScope框架】5. Pipeline模块的组合使用及Pipeline模块总结

简介: 【AI Agent系列】【阿里AgentScope框架】5. Pipeline模块的组合使用及Pipeline模块总结

大家好,我是 同学小张,持续学习C++进阶知识和AI大模型应用实战案例,持续分享,欢迎大家点赞+关注,共同学习和进步。


前面咱们已经深入学习了AgentScope框架中Pipeline模块的使用和实现原理,本文来总结一下这些Pipeline,以及探索一下各种Pipeline的组合用法。

0. 前置推荐阅读

本文参考:https://modelscope.github.io/agentscope/zh_CN/tutorial/202-pipeline.html

1. Pipeline的使用方式总结

1.1 两种Pipeline分装

从前面的文章可以看出,AgentScope提供了两种Pipeline的使用方式,分别为类类型的Pipeline和函数式的Pipeline

以顺序式Pipeline为例,你既可以使用 SequentialPipeline 这种类类型的Pipeline

# 实例化并调用
pipeline = SequentialPipeline([agent1, agent2, agent3])
x = pipeline(x)

又可以使用 sequentialpipeline 这种函数式的Pipeline

# 直接调用
x = sequentialpipeline([agent1, agent2, agent3], x)

1.2 内置Pipeline类型一览

类类型Pipeline 函数式Pipeline 描述
SequentialPipeline sequentialpipeline 按顺序执行一系列运算符,将一个运算符的输出作为下一个运算符的输入。
IfElsePipeline ifelsepipeline 实现条件逻辑,如果条件为真,则执行一个运算符;如果条件为假,则执行另一个运算符。
SwitchPipeline switchpipeline 实现分支选择,根据条件的结果从映射集中执行一个运算符。
ForLoopPipeline forlooppipeline 重复执行一个运算符,要么达到设定的迭代次数,要么直到满足指定的中止条件。
WhileLoopPipeline whilelooppipeline 只要给定条件保持为真,就持续执行一个运算符。
- placeholder 在流控制中不需要任何操作的分支,如 if-else/switch 中充当占位符。

1.3 Pipeline模块存在的意义

提供了一种多智能体间交互流程的控制逻辑封装,简化了代码。

下面是官方文档中展示的使用Pipeline和不使用Pipeline的代码对比:

可以看到,它简化了代码,其实也就是将原本需要用户写的控制语句,封装到了Pipeline中,省掉的这部分代码,与Pipeline中的实现源码基本一致。

以上示例省掉的那简单的几行控制逻辑可能看不出多大的作用,但是当逻辑复杂之后,这个Pipeline的作用就会显现出来。

2. Pipeline的组合使用示例

from agentscope.pipelines import SequentialPipeline, IfElsePipeline
# 创建一个按顺序执行智能体的 Pipeline
pipe1 = SequentialPipeline([agent1, agent2, agent3])
# 创建一个条件执行智能体的 Pipeline
pipe2 = IfElsePipeline(condition, agent4, agent5)
# 创建一个按顺序执行 pipe1 和 pipe2 的 Pipeline
pipe3 = SequentialPipeline([pipe1, pipe2])
# 调用 Pipeline
x = pipe3(x)

以上示例代码中,首先创建了一个顺序执行的Pipeline,然后创建了一个条件Pipeline,最后通过顺序Pipeline来执行前面的两个Pipeline。这样就实现了agentPipeline以及各类Pipeline的组合使用。

所以,你也看到了,Pipeline不光能传递进去一堆 agent,还能传递进去一堆 pipeline。为什么?因为Pipeline接收的实际是一堆Operator类型,只要继承了这个类型,都可以使用Pipeline

如果觉得本文对你有帮助,麻烦点个赞和关注呗 ~~~


  • 大家好,我是 同学小张,持续学习C++进阶知识AI大模型应用实战案例
  • 欢迎 点赞 + 关注 👏,持续学习持续干货输出
  • +v: jasper_8017 一起交流💬,一起进步💪。
  • 微信公众号也可搜【同学小张】 🙏

本站文章一览:

相关文章
|
20天前
|
机器学习/深度学习 人工智能 算法
Agent AI智能体:塑造未来社会的智慧力量
Agent AI智能体:塑造未来社会的智慧力量
155 0
|
2天前
|
存储 人工智能 自然语言处理
AI Agent框架(LLM Agent):LLM驱动的智能体如何引领行业变革,应用探索与未来展望
【7月更文挑战第2天】AI Agent框架(LLM Agent):LLM驱动的智能体如何引领行业变革,应用探索与未来展望
AI Agent框架(LLM Agent):LLM驱动的智能体如何引领行业变革,应用探索与未来展望
|
8天前
|
人工智能 自然语言处理 前端开发
你要的AI Agent工具都在这里
只有让LLM(大模型)学会使用工具,才能做出一系列实用的AI Agent,才能发挥出LLM真正的实力。本篇,我们让AI Agent使用更多的工具,比如:外部搜索、分析CSV、文生图、执行代码等。
你要的AI Agent工具都在这里
|
3天前
|
人工智能 前端开发 搜索推荐
移动应用开发的未来趋势:跨平台框架与AI的融合
【7月更文挑战第4天】随着移动设备的普及和用户需求的多样化,移动应用开发正面临前所未有的挑战与机遇。本文将深入探讨跨平台框架在提高开发效率、降低成本方面的优势,以及人工智能技术如何赋能移动应用,提供更加智能化的用户体验。我们将分析当前市场上流行的跨平台工具如Flutter和React Native,并探讨AI技术在移动应用中的具体应用案例,预测未来移动应用开发的发展方向。
|
3天前
|
SQL 监控 前端开发
AI+若依框架(低代码开发)
AI+若依框架(低代码开发)
12 1
|
24天前
|
人工智能 自然语言处理 API
深入浅出 LangChain 与智能 Agent:构建下一代 AI 助手
深入浅出 LangChain 与智能 Agent:构建下一代 AI 助手
198 0
深入浅出 LangChain 与智能 Agent:构建下一代 AI 助手
|
4天前
|
机器学习/深度学习 人工智能 自然语言处理
能自动查找各种漏洞,专用于网络安全的AI Agent
【7月更文挑战第3天】研究表明,大型语言模型(LLM)可应用于网络安全,自动发现和利用漏洞,包括零日漏洞。多Agent系统中,HPTSA规划任务,其他Agent执行具体工作,提升发现和应对漏洞的效率。然而,LLM的复杂性可能导致可解释性、可控性问题,且系统鲁棒性、泛化能力和安全性仍需加强。[链接: arxiv.org/abs/2406.01637]
16 1
|
10天前
|
人工智能 搜索推荐 安全
移动应用开发的未来趋势:跨平台框架和AI集成
【6月更文挑战第26天】在移动应用开发的快速演变领域中,开发者面临着不断变化的挑战与机遇。本文将探讨未来移动应用开发的几个关键趋势,包括跨平台框架的兴起、人工智能(AI)技术的集成,以及这些技术如何影响应用的性能、安全性和用户体验。通过分析当前的技术进步,我们预见到移动应用将更加智能、响应迅速且无缝集成于用户日常生活中。
|
17天前
|
人工智能 自然语言处理 监控
AI大模型智能体工作流涉及使用Ollama和FastGPT这两个工具
AI大模型智能体工作流涉及使用Ollama和FastGPT这两个工具
246 4
|
20天前
|
人工智能 自然语言处理 数据安全/隐私保护
扣子(Coze)搭建一个AI智能体
扣子(Coze)搭建一个AI智能体
146 2