智慧體課程文件

smolagents 簡介

Hugging Face's logo
加入 Hugging Face 社群

並獲得增強的文件體驗

開始使用

smolagents 簡介

Unit 2.1 Thumbnail

歡迎來到本模組,你將在這裡學習 如何使用 smolagents 庫構建有效的 Agent,該庫提供了一個用於建立強大 AI Agent 的輕量級框架。

smolagents 是 Hugging Face 的一個庫;因此,我們希望你能透過 smolagents 程式碼倉庫 點星 來支援我們

staring smolagents

模組概覽

本模組全面概述了使用 smolagents 構建智慧 Agent 的關鍵概念和實用策略。

在眾多開源框架中,瞭解 smolagents 的元件和功能,明白它為何是一個有用的選擇,或者確定何時其他解決方案可能更合適,是至關重要的。

我們將探討關鍵的 Agent 型別,包括專為軟體開發任務設計的程式碼 Agent、用於建立模組化、功能驅動工作流的工具呼叫 Agent,以及能夠訪問和整合資訊的檢索 Agent。

此外,我們還將介紹多 Agent 的協同工作,以及視覺能力和網頁瀏覽的整合,這些都為動態和情境感知的應用開啟了新的可能性。

在本單元中,來自單元 1 的 Agent Alfred 將回歸。這一次,他使用 smolagents 框架來驅動其內部工作。我們將一起探索這個框架背後的關鍵概念,看 Alfred 如何處理各種任務。趁著韋恩家族 🦇 不在,Alfred 正在韋恩莊園組織一場派對,他有很多事情要做。加入我們,一起見證他的旅程,看他如何用 smolagents 處理這些任務!

在本單元中,你將學習使用 smolagents 庫構建 AI Agent。你建立的 Agent 將能夠搜尋資料、執行程式碼以及與網頁互動。你還將學習如何組合多個 Agent 來建立更強大的系統。

Alfred the agent

目錄

在本單元關於 smolagents 的內容中,我們涵蓋:

1️⃣ 為何使用 smolagents

smolagents 是眾多可用於應用開發的開源 Agent 框架之一。其他選擇包括 LlamaIndexLangGraph,本課程的其他模組也會介紹它們。smolagents 提供了幾個關鍵特性,可能使其非常適合特定的使用場景,但我們在選擇框架時應始終考慮所有選項。我們將探討使用 smolagents 的優缺點,幫助你根據專案需求做出明智的決定。

2️⃣ 程式碼 Agent (CodeAgents)

CodeAgentssmolagents 中的主要 Agent 型別。這些 Agent 生成 Python 程式碼來執行動作,而不是生成 JSON 或文字。本模組將探討它們的用途、功能和工作原理,並提供實際例子來展示其能力。

3️⃣ 工具呼叫 Agent (ToolCallingAgents)

ToolCallingAgentssmolagents 支援的第二種 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。

資源

< > 在 GitHub 上更新

© . This site is unofficial and not affiliated with Hugging Face, Inc.