20250315-OpenAI-AgentSDK實驗

湊熱鬧。可以用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,還是在虛擬機上跑好一點,需要有個共享代碼庫。


代碼庫修改了以下內容:

  1. Processors.py :需要將可觀測埋點關掉(連不上openAI)
  1. Openai_provider.py 暫時改為用chat.complete (不要使用response 新API,估計其他廠商都還沒有做適配,如果有適配成功可以再開啟)
  1. 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的指令中,寫格式例子。參考上面的代碼庫吧。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/72330.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/72330.shtml
英文地址,請注明出處:http://en.pswp.cn/web/72330.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Qt QML實現彈球消磚塊小游戲

前言 彈球消磚塊游戲想必大家都玩過,很簡單的小游戲,通過移動擋板反彈下落的小球,然后撞擊磚塊將其消除。本文使用QML來簡單實現這個小游戲。 效果圖: 正文 代碼目錄結構如下: 首先是小球部分,邏輯比較麻…

04_Linux驅動_05_pinctrl子系統

以下代碼都在pinctrl相關的驅動函數和設備樹中 pinctrl-rockchip.c驅動,對應的是那個(那些)設備樹呢? 答案:通過.compatible "rockchip,rk3568-pinctrl"連接到rk3568.dtsi根節點下的pinctrl節點 一&#…

Python的那些事第四十五篇:繼承自Nose的測試框架Nose2

Nose2:繼承自Nose的測試框架 摘要 本文深入探討了Nose2這一繼承自Nose的測試框架。在軟件開發過程中,測試是確保代碼質量和穩定性的重要環節,而測試框架為測試工作的開展提供了有力支持。Nose2作為Nose的繼承者,在保留Nose優勢的基礎上進行了諸多改進和擴展,為Python測試…

如何通過 Airbyte 將數據攝取到 Elasticsearch

作者:來自 Elastic Andre Luiz Airbyte 是一個數據集成工具,可自動化并可擴展地將信息從各種來源傳輸到不同的目的地。它使你能夠從 API、數據庫和其他系統提取數據,并將其加載到 Elasticsearch 等平臺,以實現高級搜索和高效分析。…

RBAC 模型的簡單實現

RBAC 模型基本介紹 RBAC(Role-Based Access Control,基于角色的訪問控制)是一種廣泛應用的權限管理模型。它的核心思想是通過角色來管理權限,而不是直接分配權限給用戶。用戶被賦予一個或多個角色,而每個角色擁有不同…

數據結構---堆棧和列

一、堆棧 1.棧堆:具有一定操作約束的線性表;(只在一端做插入刪除) 2.棧的順序存儲結構: 由一個一維數組和一個記錄棧頂元素位置的變量組成。定義方式如下: 3.入棧操作: 注意:&…

2023 年全國職業院校技能大賽(中職組)移動應用與開發賽項 賽題第十套

2023 年全國職業院校技能大賽(中職組)移動應用與開發賽項 賽題第十套) 移動應用與開發賽項競賽模塊 A:移動應用界面設計任務 1 環保中心界面設計(7.5 分)任務 2:首頁界面設計(7.5 分…

FPGA為何要盡量減少組合邏輯的使用

在FPGA設計中,組合邏輯的使用確實需要謹慎,尤其是要盡量減少它的復雜性。這并不是因為組合邏輯本身不好,而是因為它在實際應用中容易引發一系列問題,而這些問題往往與FPGA的設計哲學和硬件特性相沖突。讓我從幾個關鍵點來和你聊聊…

c語言筆記 字符串函數---strcmp,strncmp,strchr,strrchr

目錄 函數strcmp與strncmp 以下是錯誤的示范:兩個指針字符型的指針不能直接進行比較 函數strchr與函數strrchr 函數strchr與函數strrchr與strstr函數三者對比 背景:如果說我們要比較兩個字符串是否相等,使用strcmp或者strncmp函數。在c語言中…

合React寶寶體質的自定義節流hook

本文為開發開源項目的真實開發經歷,感興趣的可以來給我的項目點個star,謝謝啦~ 具體博文介紹: 開源|Documind協同文檔(接入deepseek-r1、支持實時聊天)Documind 🚀 一個支持實時聊天和接入 - 掘…

【RTSP】客戶端(五)H264 265處理邏輯

H264處理邏輯 整體邏輯分析 實現邏輯 解析 RTP 包頭:首先檢查 RTP 頭部的有效負載類型(payloadType)是否匹配處理擴展頭:如果 RTP 包包含擴展頭,跳過擴展頭部分,獲取有效負載處理分片數據:H264…

IDEA集成git,項目的克隆,遠程倉庫中文件的添加刪除

目錄 一、克隆項目 二、使用IDEA完成文件的上傳和刪除 1.配置git 2.上傳 3.刪除(通過git bash) 一、克隆項目 點擊克隆,復制url ,如下 打開你想要克隆到哪里,右擊,選擇 open Git Bash here 這一步之后…

神經網絡:定義與核心原理

神經網絡(Artificial Neural Network, ANN)是一種受生物神經系統啟發的計算模型,旨在通過模擬神經元之間的連接與信息傳遞機制,實現復雜的數據處理和模式識別功能。其本質是由大量簡單處理單元(神經元)構成…

將pdf或者word轉換成base64格式

廢話不多說直接上代碼: function fileToBase64(file) {return new Promise((resolve, reject) > {const reader new FileReader();reader.readAsDataURL(file);reader.onload function (event) {const base64Data event.target.result.split(,)[1];resolve(b…

Spring @Bean注解使用場景二

bean:最近在寫一篇讓Successfactors顧問都能搞明白的sso的邏輯的文章,所以一致在研究IAS的saml2.0的協議,希望用代碼去解釋SP、idp的一些概念,讓顧問了解SSO與saml的關系,在github找代碼的時候發現一些代碼的調用關系很難理解&…

ubuntu22.04 關于掛在設備為nfts文件格式無法創建軟連接的問題

最近遇到情況,解壓工程報錯,無法創建軟連接 但是盤內還有130G空間,明顯不是空間問題,查找之后發現是移動硬盤的文件格式是NTFS,在ubuntu上不好兼容,于是報錯。 開貼記錄解決方案。 1.確定文件格式 使用命…

docker后臺運行,便于后期用命令行進入它的終端

在 docker compose up --build -d 命令中,?**-d?(或 --detach)參數的作用是讓容器以后臺模式(detached mode)?**運行。以下是詳細解釋: ?**-d 參數的作用** ?后臺運行容器: 默認情況下&a…

網頁制作14-Javascipt時間特效の顯示動態日期

<!doctype html> <html> <head> <meta charset"utf-8"> <title>動態日期</title> </head><script>var today new Date();//獲取時間var ytoday.getFullYear();//截取年var mtoday.getMonth();//截取月份,返回0~11v…

【BP神經網絡】實戰

1.參考Python實戰&#xff1a;BP神經網絡_bp神經網絡實戰python-CSDN博客 2.實踐 &#xff08;1&#xff09;運行環境 anocanda Powershell Prompt&#xff08;anocanda3&#xff09; &#xff08;2&#xff09;創建虛擬環境&#xff0c;解決安裝包的版本問題 *打開終端&a…