湊熱鬧。可以用GLM跑。
?
這里暫時用GLM底座“魔鬼修改”,代碼庫僅供參考(共同進步吧)
openai-agents-python-glm: 基于GLM底座運行SDK,學習實驗SDK內的mAGT功能。https://gitee.com/leomk2004/openai-agents-python-glm
自言自語:
Swarm定位是框架(對比其他框架可能相當過于簡單了,官方說是“實驗/教學”)。
OpenAI定位的是SDK,相當與吧RAG/Search/ToolUse/ComputeUse (沒有code interpretor),都封裝到了SDK中(但依賴自家平臺云服務提供的RAG/WebSearch/ComputerUse能力)。所以官方說是“SDK”,沒說是多智能體框架。
為了:
(1)也能體驗以下:模式,computer use,和未來可能升級的能力,這里需要修改底座。
(2)computer use,還是在虛擬機上跑好一點,需要有個共享代碼庫。
代碼庫修改了以下內容:
- Processors.py :需要將可觀測埋點關掉(連不上openAI)
- Openai_provider.py 暫時改為用chat.complete (不要使用response 新API,估計其他廠商都還沒有做適配,如果有適配成功可以再開啟)
- openai_chatcompletions.py?這里改用GLM的URL和TOKEN;模型直接改為GLM*;
Basic目錄驗證:
運行多智能體例子agent_lifecycle_example.py:
日志:
?Line 59: ### (Start Agent) 1: Agent Start Agent started ?Line 173: ### (Start Agent) 2: Agent Start Agent started tool random_number ?Line 175: ### (Start Agent) 3: Agent Start Agent ended tool random_number with result 37 ?Line 294: ### (Start Agent) 4: Agent Start Agent handed off to Multiply Agent ?Line 295: ### (Multiply Agent) 1: Agent Multiply Agent started ?Line 428: ### (Multiply Agent) 2: Agent Multiply Agent started tool multiply_by_two ?Line 430: ### (Multiply Agent) 3: Agent Multiply Agent ended tool multiply_by_two with result 74 ?Line 452: ### (Multiply Agent) 4: Agent Multiply Agent ended with output The result of multiplying 37 by 2 is 74. |
* 結構化輸出,工具調用,agent handeroff識別正常。
FinalResult(新的API支持json schema)
SDK會根據DataClass 生成一個json schema報文。
GLM暫時還不兼容。但GLM可以這樣保證結構化輸出:
智譜AI開放平臺
在需要格式化輸出的Agent的指令中,寫格式例子。參考上面的代碼庫吧。