搜尋
首頁科技週邊人工智慧如何使用AGNO框架構建多模式AI代理?

在從事代理AI時,開發人員經常發現自己在速度,靈活性和資源效率之間進行權衡。我一直在探索代理AI框架,並遇到了Agno(更早是Phi-data)。 Agno是用於構建多模式代理的輕量級框架。他們聲稱比Langgraph快〜10,000倍,比Langgraph少約50倍。聽起來很有趣吧?

Agno和Langgraph - 提供截然不同的經驗。在與Agno進行了動手實踐並將其性能和建築與Langgraph進行比較之後,這是它們如何不同的細分,每個人都閃耀的地方以及Agno帶來了什麼。

tl; dr

  • 建築三角和營銷分析師代理
  • 如果您想要速度,低內存使用,多模式功能以及使用型號/工具的靈活性,請使用AGNO。
  • 如果您喜歡基於流的邏輯或結構化的執行路徑,或者已經與Langchain的生態系統有關,請使用Langgraph。

目錄

  • Agno:它提供什麼?
  • 與agno的動手:建築三角形代理
  • 與Agno的動手:建築市場分析師代理
  • Agno vs Langgraph:性能攤牌
  • 所以……agno比langgraph好嗎?
  • 結論

Agno:它提供什麼?

Agno設計的重點是性能和極簡主義。 Agno的核心是為多模式任務構建的開源,模型不可穩定的代理框架,即在本地處理文本,圖像,音頻和視頻。使其與眾不同的是它在引擎蓋下的輕快和快速,即使在編排了大量具有記憶,工具和矢量商店(工具和矢量商店)的代理商時。

脫穎而出的關鍵優勢:

  • 猛烈的實例化速度:以每位代理約2μs的速度創建代理,比Langgraph快約10,000倍。
  • FeatherLight Memory足跡: AGNO代理平均使用〜3.75 KIB的內存 - 比Langgraph代理低約50倍。
  • 多模式的本機支持:無黑客或插件 - Agno是從地面構建的,可以與各種媒體類型無縫地工作。
  • 模型不可知論: Agno不在乎您是否使用OpenAI,Claude,Gemini或開源LLM。您沒有鎖定特定的提供商或運行時。
  • 實時監控:可以通過Agno實時觀察代理會話和性能,這使調試和優化更加順暢。

與agno的動手:建築三角形代理

使用Agno感覺令人耳目一新。您可以旋轉整個代理機構,這些代理商不僅可以並行運作,還可以共享記憶,工具和知識庫。這些代理可以專業化並分組為多代理團隊,並且內存層支持在持久數據庫中存儲會話和狀態。

真正令人印象深刻的是Agno如何在不犧牲表現的情況下管理複雜性。它處理現實世界的代理編排(例如工具鏈,基於抹布的檢索或結構化產出生成),而沒有成為性能瓶頸。

如果您使用Langgraph或類似框架,您會立即註意到Agno避免的啟動滯後和資源消耗。這成為大規模的關鍵區別。讓我們構建Trisage代理。

安裝所需的庫

! pip安裝-u agno
! PIP安裝DuckDuckgo-Search
! PIP安裝OpenAi
PIP安裝Pycountry

這些是安裝所需Python軟件包的外殼命令:

  • AGNO :用於定義和運行AI代理的核心框架。
  • DuckDuckgo-Search :允許代理商使用DuckDuckgo搜索網絡。
  • Openai :用於與Openai的型號接口,例如GPT-4或GPT-3.5。

需要進口

來自agno.Agent進口代理
來自agno.models.openai進口Openaichat
來自agno.tools.duckduckgo進口Duckduckgotools
來自agno.tools.googlesearch導入googlesearchtools
來自agno.tools.dalle導入dalletools
來自agno.team進口團隊
來自TextWrap Import Dedent

API密鑰設置

從GetPass Import GetPass
OpenAi_Key = getPass('輸入打開AI API鍵:')

導入操作系統
os.environ ['OpenAI_API_KEY'] = OpenAi_Key
  • getPass() :安全輸入API鍵的方法(因此不可見)。
  • 然後將鑰匙存儲在環境中,以便在調用OpenAI的API時可以將其拾起。

web_agent - 搜索網絡,writer_agent - 撰寫文章,image_agent - 創建視覺效果

web_agent =代理(
    名稱=“ Web Agent”,
    角色=“在網絡上搜索有關埃菲爾鐵塔的信息”,
    型號= OpenAICHAT(),
    工具= [duckduckgotools()],
    說明=“提供歷史信息”,
    show_tool_calls = true,
    markdown = true,
)

writer_agent =代理(
    名稱=“作家特工”,
    角色=“有關提供主題的綜合文章”,
    型號= OpenAICHAT(),
    工具= [googlesearchtools()],
    說明=“使用大綱寫文章”,
    show_tool_calls = true,
    markdown = true,
)

image_agent =代理(
    型號= OpenAICHAT(),
    工具= [dalletools()],
    描述= dedent(“”“ \ \
        您是一位經驗豐富的AI藝術家,具有各種藝術風格的專業知識,
        從光真主到抽象藝術。您對構圖有深刻的了解,
        顏色理論和視覺講故事。 \
    ””),
    說明= dedent(“”“ \ \
        作為AI藝術家,請遵循以下準則:
        1。仔細分析用戶的請求,以了解所需的樣式和心情
        2。生成之前,通過諸如照明,透視和氣氛等藝術細節來增強提示
        3。使用`create_image'工具帶有詳細,精心製作的提示
        4。簡要說明做出的藝術選擇
        5。如果請求不清楚,請詢問有關樣式偏好的澄清

        始終旨在創建視覺引人注目且有意義的圖像,以捕獲用戶的視野! \
    ””),
    markdown = true,
    show_tool_calls = true,
)

合併團隊

agent_team =代理(
    team = [web_agent,writer_agent,image_agent],
    型號= OpenAICHAT(),
    說明= [“給出歷史信息”,“使用大綱寫文章”,“生成圖像”],
    show_tool_calls = true,
    markdown = true,
)

運行整個事情

Agent_team.print_response(“在Eiffel Towar上寫一篇文章並生成圖像”,Stream = true)

輸出

如何使用AGNO框架構建多模式AI代理?

繼續產出

如何使用AGNO框架構建多模式AI代理?

繼續產出

如何使用AGNO框架構建多模式AI代理?

我創建了埃菲爾鐵塔的現實形象。圖像捕獲了<br> 塔的全高和設計,┃<br> ┃下午的陽光很漂亮。您可以通過<br> 單擊此處。

圖像輸出

如何使用AGNO框架構建多模式AI代理?

與Agno的動手:建築市場分析師代理

該市場分析師代理是一個使用AGNO的基於團隊的系統,將Web代理通過DuckDuckgo結合了用於實時信息的Web代理,並通過Yahoo Finance合併了用於財務數據的財務代理。它由OpenAI模型提供支持,可為清晰,深度和透明度提供市場見解和AI公司績效。

來自agno.Agent進口代理
來自agno.models.openai進口Openaichat
來自agno.tools.duckduckgo進口Duckduckgotools
來自agno.tools.yfinance進口yfinancetools
來自agno.team進口團隊

web_agent =代理(
    名稱=“ Web Agent”,
    角色=“搜索網絡以獲取信息”,
    型號= OpenAICHAT(),
    工具= [duckduckgotools()],
    說明=“始終包含來源”,
    show_tool_calls = true,
    markdown = true,
)

finance_agent =代理(
    名稱=“財務代理”,
    角色=“獲得財務數據”,
    型號= OpenAICHAT(),
    tools = [yfinancetools(stock_price = true,Analyst_recommendations = true,company_info = true)],]
    說明=“使用表顯示數據”,
    show_tool_calls = true,
    markdown = true,
)

agent_team =代理(
    team = [web_agent,finance_agent],
    型號= OpenAICHAT(),
    說明= [“始終包含來源”,“使用表顯示數據”],
    show_tool_calls = true,
    markdown = true,
)

Agent_team.print_response(“世界頂級AI公司的市場前景和財務績效是什麼?”,Stream = true)

輸出

如何使用AGNO框架構建多模式AI代理?

Agno vs Langgraph:性能攤牌

讓我們詳細介紹,所有這些都包含在Agno的正式文檔中:

公制 agno Langgraph 因素
代理實例化時間 〜2μs 〜20ms 〜〜10,000倍
每個代理的內存使用量 〜3.75 KIB 〜137 KIB 〜50倍輕
  • 性能測試是在使用Python的Tracemalloc進行內存分析的Apple M4 MacBook Pro上進行的。
  • Agno測量了超過1000次運行的平均實例化和內存使用情況,從而隔離了代理代碼以獲得乾淨的三角洲。

這種速度和內存效率不僅涉及數字,而且是可伸縮性的關鍵。在現實世界的代理部署中,每毫秒和千字節都可能需要同時旋轉數千個代理商。

Langgraph雖然針對某些基於流動的應用程序有力,更具結構化,但除非經過重大優化,否則在這種負載下傾向於在這種負載下掙扎。對於低規模的應用程序來說,這可能不是一個問題,但是在運行生產規模的代理商時,它變得昂貴。

所以……agno比langgraph好嗎?

未必。這取決於您正在構建的內容:

  • 如果您正在研究基於流動的代理邏輯(思考:具有高級控制的步驟的定向圖),Langgraph可能會提供更具表現力的結構。
  • 但是,如果您需要超快速,低腳印,多模式的代理執行,尤其是在高頻率或動態環境中,Agno會贏得一英里。

Agno顯然有利於速度和系統級效率,而Langgraph則傾向於結構化的編排和可靠性。也就是說,Agno的開發人員自己承認,準確性和可靠性基準同樣重要,而且他們目前正在進行中。在這些案例下,我們無法得出結論的正確性或彈性。

另請閱讀:Smolagents vs Langgraph:AI代理框架的全面比較

結論

從動手的角度來看,Agno可以為實際的工作負載做好準備,尤其是對於大規模構建代理系統的團隊。它是實時性能監視,對結構化輸出的支持以及插入內存向量知識的能力,使其成為快速構建強大應用程序的引人注目的平台。

Langgraph並不是脫離比賽,它的力量在於清晰的,面向流動的控制邏輯。但是,如果您要碰到縮放牆,或者需要在不融化基礎設施的情況下運行數千個代理商,那麼Agno值得一提。

以上是如何使用AGNO框架構建多模式AI代理?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
讓我們跳舞:結構化運動以微調我們的人類神經網讓我們跳舞:結構化運動以微調我們的人類神經網Apr 27, 2025 am 11:09 AM

科學家已經廣泛研究了人類和更簡單的神經網絡(如秀麗隱桿線蟲中的神經網絡),以了解其功能。 但是,出現了一個關鍵問題:我們如何使自己的神經網絡與新穎的AI一起有效地工作

新的Google洩漏揭示了雙子AI的訂閱更改新的Google洩漏揭示了雙子AI的訂閱更改Apr 27, 2025 am 11:08 AM

Google的雙子座高級:新的訂閱層即將到來 目前,訪問Gemini Advanced需要$ 19.99/月Google One AI高級計劃。 但是,Android Authority報告暗示了即將發生的變化。 最新的Google P中的代碼

數據分析加速度如何求解AI的隱藏瓶頸數據分析加速度如何求解AI的隱藏瓶頸Apr 27, 2025 am 11:07 AM

儘管圍繞高級AI功能炒作,但企業AI部署中潛伏的巨大挑戰:數據處理瓶頸。首席執行官慶祝AI的進步時,工程師努力應對緩慢的查詢時間,管道超載,一個

Markitdown MCP可以將任何文檔轉換為Markdowns!Markitdown MCP可以將任何文檔轉換為Markdowns!Apr 27, 2025 am 09:47 AM

處理文檔不再只是在您的AI項目中打開文件,而是將混亂變成清晰度。諸如PDF,PowerPoints和Word之類的文檔以各種形狀和大小淹沒了我們的工作流程。檢索結構化

如何使用Google ADK進行建築代理? - 分析Vidhya如何使用Google ADK進行建築代理? - 分析VidhyaApr 27, 2025 am 09:42 AM

利用Google的代理開發套件(ADK)的力量創建具有現實世界功能的智能代理!該教程通過使用ADK來構建對話代理,並支持Gemini和GPT等各種語言模型。 w

在LLM上使用SLM進行有效解決問題-Analytics Vidhya在LLM上使用SLM進行有效解決問題-Analytics VidhyaApr 27, 2025 am 09:27 AM

摘要: 小型語言模型 (SLM) 專為效率而設計。在資源匱乏、實時性和隱私敏感的環境中,它們比大型語言模型 (LLM) 更勝一籌。 最適合專注型任務,尤其是在領域特異性、控制性和可解釋性比通用知識或創造力更重要的情況下。 SLM 並非 LLMs 的替代品,但在精度、速度和成本效益至關重要時,它們是理想之選。 技術幫助我們用更少的資源取得更多成就。它一直是推動者,而非驅動者。從蒸汽機時代到互聯網泡沫時期,技術的威力在於它幫助我們解決問題的程度。人工智能 (AI) 以及最近的生成式 AI 也不例

如何將Google Gemini模型用於計算機視覺任務? - 分析Vidhya如何將Google Gemini模型用於計算機視覺任務? - 分析VidhyaApr 27, 2025 am 09:26 AM

利用Google雙子座的力量用於計算機視覺:綜合指南 領先的AI聊天機器人Google Gemini擴展了其功能,超越了對話,以涵蓋強大的計算機視覺功能。 本指南詳細說明瞭如何利用

Gemini 2.0 Flash vs O4-Mini:Google可以比OpenAI更好嗎?Gemini 2.0 Flash vs O4-Mini:Google可以比OpenAI更好嗎?Apr 27, 2025 am 09:20 AM

2025年的AI景觀正在充滿活力,而Google的Gemini 2.0 Flash和Openai的O4-Mini的到來。 這些尖端的車型分開了幾週,具有可比的高級功能和令人印象深刻的基準分數。這個深入的比較

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器