大家好,我是 同學小張,持續學習C++進階知識和AI大模型應用實戰案例,持續分享,歡迎大家點贊+關注,共同學習和進步。
前面咱們已經深入學習了AgentScope框架中Pipeline
模塊的使用和實現原理,本文來總結一下這些Pipeline
,以及探索一下各種Pipeline
的組合用法。
· 【AI Agent系列】【阿里AgentScope框架】2. Pipeline模塊入門:使用Pipeline模塊實現最簡單的多智能體交互
· 【AI Agent系列】【阿里AgentScope框架】3. 深入源碼:Pipeline模塊如何組織多智能體間的數據流?- 順序結構與條件分支
· 【AI Agent系列】【阿里AgentScope框架】4. 深入源碼:Pipeline模塊如何組織多智能體間的數據流?- 循環結構
本文參考:https://modelscope.github.io/agentscope/zh_CN/tutorial/202-pipeline.html
從前面的文章可以看出,AgentScope提供了兩種Pipeline
的使用方式,分別為類類型的Pipeline
和函數式的Pipeline
。
以順序式Pipeline為例,你既可以使用 SequentialPipeline
這種類類型的Pipeline
:
# 實例化并調用
pipeline = SequentialPipeline([agent1, agent2, agent3])
x = pipeline(x)
又可以使用 sequentialpipeline
這種函數式的Pipeline
:
# 直接調用
x = sequentialpipeline([agent1, agent2, agent3], x)
類類型Pipeline | 函數式Pipeline | 描述 |
SequentialPipeline | sequentialpipeline | 按順序執行一系列運算符,將一個運算符的輸出作為下一個運算符的輸入。 |
IfElsePipeline | ifelsepipeline | 實現條件邏輯,如果條件為真,則執行一個運算符;如果條件為假,則執行另一個運算符。 |
SwitchPipeline | switchpipeline | 實現分支選擇,根據條件的結果從映射集中執行一個運算符。 |
ForLoopPipeline | forlooppipeline | 重復執行一個運算符,要么達到設定的迭代次數,要么直到滿足指定的中止條件。 |
WhileLoopPipeline | whilelooppipeline | 只要給定條件保持為真,就持續執行一個運算符。 |
- | placeholder | 在流控制中不需要任何操作的分支,如 if-else/switch 中充當占位符。 |
提供了一種多智能體間交互流程的控制邏輯封裝,簡化了代碼。
下面是官方文檔中展示的使用Pipeline
和不使用Pipeline
的代碼對比:
可以看到,它簡化了代碼,其實也就是將原本需要用戶寫的控制語句,封裝到了Pipeline
中,省掉的這部分代碼,與Pipeline
中的實現源碼基本一致。
以上示例省掉的那簡單的幾行控制邏輯可能看不出多大的作用,但是當邏輯復雜之后,這個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
。這樣就實現了agent
、Pipeline
以及各類Pipeline
的組合使用。
所以,你也看到了,Pipeline
不光能傳遞進去一堆 agent
,還能傳遞進去一堆 pipeline
。為什么?因為Pipeline
接收的實際是一堆Operator
類型,只要繼承了這個類型,都可以使用Pipeline
。
如果覺得本文對你有幫助,麻煩點個贊和關注唄 ~~~點擊上方公眾號,關注↑↑↑
· 大家好,我是 同學小張,日常分享AI知識和實戰案例
· 歡迎 點贊 + 關注 ??,持續學習,持續干貨輸出。
公眾號內文章一覽