智慧體課程文件
smolagents 簡介
並獲得增強的文件體驗
開始使用
smolagents 簡介

歡迎來到本模組,你將在這裡學習 如何使用 smolagents
庫構建有效的 Agent,該庫提供了一個用於建立強大 AI Agent 的輕量級框架。
smolagents
是 Hugging Face 的一個庫;因此,我們希望你能透過 給 smolagents 程式碼倉庫
點星 來支援我們

模組概覽
本模組全面概述了使用 smolagents
構建智慧 Agent 的關鍵概念和實用策略。
在眾多開源框架中,瞭解 smolagents
的元件和功能,明白它為何是一個有用的選擇,或者確定何時其他解決方案可能更合適,是至關重要的。
我們將探討關鍵的 Agent 型別,包括專為軟體開發任務設計的程式碼 Agent、用於建立模組化、功能驅動工作流的工具呼叫 Agent,以及能夠訪問和整合資訊的檢索 Agent。
此外,我們還將介紹多 Agent 的協同工作,以及視覺能力和網頁瀏覽的整合,這些都為動態和情境感知的應用開啟了新的可能性。
在本單元中,來自單元 1 的 Agent Alfred 將回歸。這一次,他使用 smolagents
框架來驅動其內部工作。我們將一起探索這個框架背後的關鍵概念,看 Alfred 如何處理各種任務。趁著韋恩家族 🦇 不在,Alfred 正在韋恩莊園組織一場派對,他有很多事情要做。加入我們,一起見證他的旅程,看他如何用 smolagents
處理這些任務!
在本單元中,你將學習使用 smolagents
庫構建 AI Agent。你建立的 Agent 將能夠搜尋資料、執行程式碼以及與網頁互動。你還將學習如何組合多個 Agent 來建立更強大的系統。
目錄
在本單元關於 smolagents
的內容中,我們涵蓋:
1️⃣ 為何使用 smolagents
smolagents
是眾多可用於應用開發的開源 Agent 框架之一。其他選擇包括 LlamaIndex
和 LangGraph
,本課程的其他模組也會介紹它們。smolagents
提供了幾個關鍵特性,可能使其非常適合特定的使用場景,但我們在選擇框架時應始終考慮所有選項。我們將探討使用 smolagents
的優缺點,幫助你根據專案需求做出明智的決定。
2️⃣ 程式碼 Agent (CodeAgents)
CodeAgents
是 smolagents
中的主要 Agent 型別。這些 Agent 生成 Python 程式碼來執行動作,而不是生成 JSON 或文字。本模組將探討它們的用途、功能和工作原理,並提供實際例子來展示其能力。
3️⃣ 工具呼叫 Agent (ToolCallingAgents)
ToolCallingAgents
是 smolagents
支援的第二種 Agent 型別。與生成 Python 程式碼的 CodeAgents
不同,這些 Agent 依賴於 JSON/文字塊,系統必須解析和解釋這些塊來執行動作。本模組將介紹它們的功能、與 CodeAgents
的主要區別,並提供一個例子來說明其用法。
4️⃣ 工具
正如我們在單元 1 中所見,工具是 LLM 可以在 Agent 系統中使用的函式,它們是 Agent 行為的基本構建塊。本模組將介紹如何建立工具、它們的結構,以及使用 Tool
類或 @tool
裝飾器的不同實現方法。你還將瞭解預設的工具箱、如何與社群分享工具,以及如何載入社群貢獻的工具以在你的 Agent 中使用。
5️⃣ 檢索 Agent
檢索 Agent 允許模型訪問知識庫,從而可以從多個來源搜尋、整合和檢索資訊。它們利用向量儲存庫進行高效檢索,並實現 檢索增強生成 (RAG) 模式。這些 Agent 在將網路搜尋與自定義知識庫整合,同時透過記憶系統維護對話上下文方面特別有用。本模組將探討實現策略,包括用於穩健資訊檢索的備用機制。
6️⃣ 多 Agent 系統
有效地協調多個 Agent 對於構建強大的多 Agent 系統至關重要。透過將具有不同能力的 Agent 組合起來——例如,一個網路搜尋 Agent 與一個程式碼執行 Agent——你可以建立更復雜的解決方案。本模組專注於設計、實現和管理多 Agent 系統,以最大限度地提高效率和可靠性。
7️⃣ 視覺和瀏覽器 Agent
視覺 Agent 透過整合 視覺-語言模型 (VLM) 擴充套件了傳統 Agent 的能力,使其能夠處理和解釋視覺資訊。本模組探討了如何設計和整合由 VLM 驅動的 Agent,從而解鎖基於影像的推理、視覺資料分析和多模態互動等高階功能。我們還將使用視覺 Agent 構建一個可以瀏覽網頁並從中提取資訊的瀏覽器 Agent。
資源
- smolagents 文件 - smolagents 庫的官方文件
- 構建高效的 Agent - 關於 Agent 架構的研究論文
- Agent 指南 - 構建可靠 Agent 的最佳實踐
- LangGraph Agents - Agent 實現的更多示例
- 函式呼叫指南 - 理解 LLM 中的函式呼叫
- RAG 最佳實踐 - 實現高效 RAG 的指南