![]()
![]()
![]()
eino 發(fā)布了 v0.7.15 最新版本,發(fā)布時間為 2025 年 12 月 29 日。本次版本更新主要集中在 adk(Agent Development Kit)模塊,對 ChatModel Agent 的執(zhí)行流程和 Agent 名稱設(shè)置進行了修復(fù)和完善。以下內(nèi)容基于官方發(fā)布記錄與代碼變更進行完整翻譯與說明,不包含額外擴展內(nèi)容。
一、版本概覽
版本號:v0.7.15
發(fā)布時間:2025 年 12 月 29 日
本次版本包含 2 次提交,涉及 3 個文件的修改,共計新增 94 行代碼,刪除 11 行代碼。共有 1 位貢獻者參與。
提交時間分布如下:
? 2025 年 12 月 26 日:修復(fù)在未配置工具的情況下,after chatmodel 無法生效的問題
? 2025 年 12 月 29 日:修復(fù) agent 名稱設(shè)置不正確的問題
1. adk 修復(fù):在未配置工具的情況下支持 after chatmodel
在此前版本中,當(dāng) ChatModelAgent 未配置工具時,AfterChatModel 中間件不會被正確執(zhí)行。本次更新通過調(diào)整 ChatModelAgent 的鏈?zhǔn)綀?zhí)行邏輯,使得 AfterChatModel 在沒有工具配置的情況下也能夠正常觸發(fā)。
具體改動體現(xiàn)在 chatmodel.go 文件中,對 buildRunFunc 方法進行了修改:
? 在構(gòu)建 Chain 時引入本地狀態(tài)生成函數(shù),用于初始化 ChatModelAgentState
? 在 ChatModel 執(zhí)行前,通過 StatePreHandler 更新并處理 state.Messages,同時順序執(zhí)行 BeforeChatModel 中間件
? 在 ChatModel 執(zhí)行后,通過 StatePostHandler 將模型輸出追加到 state.Messages,并順序執(zhí)行 AfterChatModel 中間件
? 保證 BeforeChatModel 和 AfterChatModel 都圍繞 ChatModel 的執(zhí)行過程正確生效
通過這一調(diào)整,即使未配置工具調(diào)用能力,ChatModel 的前置和后置中間件也能按預(yù)期執(zhí)行。
2. adk 修復(fù):agent 名稱設(shè)置修正
在 flow.go 中,對 agent 運行時的 AgentName 和 RunPath 設(shè)置邏輯進行了修正。
更新后的邏輯說明如下:
? 始終使用當(dāng)前 agent 的名稱作為 event.AgentName
? 當(dāng) event.RunPath 已存在時,將框架生成的 RunPath 與自定義 RunPath 合并,避免重復(fù)或錯誤的路徑段
? 當(dāng) event.RunPath 不存在時,直接使用當(dāng)前運行上下文中的 RunPath
? 保證事件記錄策略中,RunPath 能夠準(zhǔn)確匹配當(dāng)前 agent 的執(zhí)行路徑,避免因路徑重復(fù)導(dǎo)致的事件不記錄問題
該修復(fù)解決了在運行流式 agent 時,AgentName 和 RunPath 可能配置錯誤的問題。
三、測試用例新增說明
在 chatmodel_test.go 中,本次版本新增了完整的單元測試,用于驗證 ChatModelAgent 在引入中間件后的行為是否正確。
新增測試場景包括:
1. 基礎(chǔ) ChatModelAgent + 中間件測試
測試流程說明:
? 使用 mock ChatModel,模擬 Generate 方法返回固定的 Assistant 消息
? 配置 BeforeChatModel 中間件,在 state.Messages 中追加一條用戶消息
? 配置 AfterChatModel 中間件,驗證 state.Messages 的長度,并確認(rèn)后置中間件被執(zhí)行
? 驗證最終輸出的 Assistant 消息內(nèi)容正確
? 驗證 AfterChatModel 確實被觸發(fā)
該測試確保在普通非流式情況下,中間件機制可以穩(wěn)定工作。
2. 流式輸出測試(StreamOutput)
在同一測試文件中,繼續(xù)保留并執(zhí)行流式輸出相關(guān)測試,確保本次改動不會影響原有流式處理邏輯。
四、代碼變更統(tǒng)計
本次版本的代碼改動統(tǒng)計如下:
? chatmodel.go:37 處改動(27 行新增,10 行刪除)
? chatmodel_test.go:新增 66 行測試代碼
? flow.go:1 行新增,1 行刪除
代碼地址:github.com/cloudwego/eino
eino v0.7.15 是一次以穩(wěn)定性和一致性為目標(biāo)的修復(fù)版本,重點解決了兩個問題:
? ChatModelAgent 在未配置工具時,中間件 after chatmodel 無法執(zhí)行的問題
? flow agent 中 AgentName 和 RunPath 設(shè)置不準(zhǔn)確的問題
通過補充狀態(tài)管理、前后置處理器以及新增測試用例,本次更新進一步增強了 adk 中 ChatModelAgent 的可用性和可預(yù)測性,為后續(xù)版本的功能擴展奠定了更加穩(wěn)定的運行基礎(chǔ)。
我們相信人工智能為普通人提供了一種“增強工具”,并致力于分享全方位的AI知識。在這里,您可以找到最新的AI科普文章、工具評測、提升效率的秘籍以及行業(yè)洞察。 歡迎關(guān)注“福大大架構(gòu)師每日一題”,發(fā)消息可獲得面試資料,讓AI助力您的未來發(fā)展。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.