【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 一起交流?,一起进步?。
  • 微信公众号也可搜【同学小张】 ?

本站文章一览:

相关文章
|
4天前
|
人工智能 数据安全/隐私保护 UED
Agent AI智能体的未来
Agent AI智能体的未来
|
4天前
|
机器学习/深度学习 人工智能 自然语言处理
自动化测试中AI驱动的决策框架设计与实现
【5月更文挑战第5天】 在软件测试领域,自动化测试已成为提升测试效率和质量的关键手段。然而,随着软件系统的复杂性增加,传统的自动化测试方法面临挑战,尤其在测试用例的生成、执行及结果分析等方面。本文提出一种基于人工智能(AI)的自动化测试决策框架,旨在通过智能化的算法优化测试过程,并提高异常检测的准确率。该框架结合机器学习和深度学习技术,能够自学习历史测试数据,预测高风险变更区域,自动生成针对性强的测试用例,并在测试执行过程中实时调整测试策略。此外,通过自然语言处理(NLP)技术,该框架还能对测试结果进行语义分析,进一步提供更深入的洞察。本研究不仅增强了自动化测试工具的智能性,也为软件质量保证提
|
4天前
|
人工智能 自然语言处理 算法
分享几个.NET开源的AI和LLM相关项目框架
分享几个.NET开源的AI和LLM相关项目框架
|
4天前
|
人工智能 光互联 数据中心
800G光模块面对AI发展的增长之路
光模块市场因AI驱动的算力需求增长而加速发展,800G产品需求强劲,预计未来几年市场规模将以每年约11%的复合年增长率扩张。尽管面临价格竞争和原材料供应紧张的挑战,800G光模块将于2024年迎来大规模出货,而2025年将启动1.6T光模块商用周期。随着技术迭代加快和高端产品放量,行业头部企业将受益,光通信行业将迎来黄金时期。
23 0
800G光模块面对AI发展的增长之路
|
4天前
|
人工智能 移动开发 小程序
uniapp框架——vue3+uniFilePicker+fastapi实现文件上传(搭建ai项目第二步)
uniapp框架——vue3+uniFilePicker+fastapi实现文件上传(搭建ai项目第二步)
59 2
|
4天前
|
人工智能 小程序 前端开发
uniapp框架——初始化vue3项目(搭建ai项目第一步)
uniapp框架——初始化vue3项目(搭建ai项目第一步)
31 1
|
4天前
|
存储 人工智能 测试技术
【AI智能体】SuperAGI-开源AI Agent 管理平台
【4月更文挑战第9天】智能体管理平台SuperAGI简介及实践
122 0
|
4天前
|
存储 搜索推荐 前端开发
变革来袭!多Agent框架MuAgent带你解锁代码开发新姿势
在这个信息技术爆炸的时代,我们都知道大型语言模型(LLM)拥有处理复杂问题的能力,但当遇到编程难题这种更高级的挑战时,单独的LLM Agent可能就不够看了。社区里动起了脑筋,玩出了新花样——组合多个Agent来应对高难度挑战!正如Multi Agent的构建过程所示,与其说我们是在设计Agents,不如说是对当前需求的深入理解后去构建出一条专属于某个场景的SOP。
69 1
|
4天前
|
人工智能 API 决策智能
【AI Agent系列】【阿里AgentScope框架】实战1:利用AgentScope实现动态创建Agent和自由组织讨论
【AI Agent系列】【阿里AgentScope框架】实战1:利用AgentScope实现动态创建Agent和自由组织讨论
161 2
|
4天前
|
监控 Unix Windows
Zabbix【部署 04】 Windows系统安装配置agent及agent2
Zabbix【部署 04】 Windows系统安装配置agent及agent2
194 0
http://www.vxiaotou.com