





Deep Research build By Smolagents FREE
Powered By Smolagents
Ai 代碼 Smolagents | FAST&FREE
由 Together AI 和 LlamaCoder 提供技術支援
smolagents and tools gallery
best smolagents in huggingface
什麼是代理商?
AI 代理是 LLM 輸出控制工作流程的程式.
本表說明代理權在不同系統中的差異:
機構層級 | 說明 | 如何稱為 | 範例樣式 |
---|---|---|---|
☆☆☆ | LLM 輸出對程式流程沒有影響 | 簡易處理器 | process_llm_output(llm_response) |
★☆☆ | LLM 輸出決定基本控制流程 | 路由器 | if llm_decision(): path_a() else: path_b() |
★★☆ | LLM 輸出決定函式的執行 | 工具呼叫 | run_function(llm_chosen_tool, llm_chosen_args) |
★★★ | LLM 輸出控制迭代和程式延續 | 多步驟代理 | while llm_should_continue(): execute_next_step() |
★★★ | 一個代理工作流程可以啟動另一個代理工作流程 | 多重代理 | if llm_trigger(): execute_agent() |
SmolAgents 的特點
🤗 Smolagents 是 Hugging Face 團隊開發的簡約型 AI 代理框架,讓開發人員只需幾行程式碼即可部署強大的代理。smolagents 擁有簡單與高效的特性,可讓大型語言模型 (LLM) 與現實世界進行無縫互動。
✨ 簡單
緊湊型程式碼庫:擁有約 1,000 行的核心程式碼。 代理商.py
因此,smolagents 將抽象概念減至最少,以便進行直接開發。
使用者友善
開發人員可以快速定義代理程式、提供必要的工具,並立即執行它們,而無需複雜的設定。
代碼代理
smolagents 著重於 代碼代理,代理會寫入並執行 Python 程式碼片段來執行動作,而不是將動作產生為 JSON 或文字 Blob。
高效率
與標準的工具呼叫方法相比,代碼代理提供了更高的效率和精確度,減少了約 30% 的步驟和 LLM 呼叫,並在複雜的基準上實現了優異的性能。
安全執行
為了確保程式碼的安全執行,smolagents 支援在沙箱環境中執行程式碼,例如 E2B,提供受保護且隔離的執行空間。
各種法學碩士
smolagents 可以毫不費力地與任何大型語言模型整合,包括透過 Transformers 託管在 Hugging Face Hub 上的模型,以及透過 LiteLLM 整合 OpenAI、Anthropic 及其他公司的模型。

SmolAgents :與 Hugging Face Hub 整合
分享與載入工具:與 Hugging Face Hub 深度整合,讓開發人員可以輕鬆分享和匯入工具,促進社群內的合作與分享。
生態系統成長:利用 Hub 的功能,smolagents 不斷擴充更多功能和工具,提供無限的發展潛力。
支援傳統工具呼叫代理
多樣化的選擇:除代碼代理外,smolagents 還支援傳統的 工具呼叫代理,其中的動作會寫成 JSON 或文字區塊,適合特定的場景和需求。


選擇代碼 smolAgents 的原因
優異的組合性:程式碼自然地支援函數嵌套與重複使用,允許表達複雜的邏輯。
高效的物件處理:與 JSON 相比,代碼簡化了物件的管理和傳輸。
極致彈性:代碼可以代表電腦可以執行的任何操作,提供了極大的多樣性。
廣泛的訓練資料:LLM 接受過大量高品質程式碼的訓練,增強了他們產生和理解程式碼的能力。
效能優勢 的 smolagents
在各種基準測試中,利用開放原始碼模型的 smolagent 與使用專屬模型的代理系統效能不相伯仲。由於代碼代理程式的效率以及開放原始碼模型的持續進步,開發人員可以建立功能強大的代理程式系統,而無須仰賴封閉原始碼的服務。

SmolAgents 應用範例
在 Smolagents 中,代理被封裝在允許它們執行特定任務的類別中。例如,一個 ManagedAgent
您可以利用不同的代理類型來管理各種任務。以下是一個簡化的範例,說明如何實作兩個代理程式,一個用於網路搜尋,另一個用於產生圖片,以下是如何製作自訂工具,從 Google 地圖取得旅行時間,以及如何將它用於旅行計畫代理程式:
from typing import Optional
from smolagents import CodeAgent, HfApiModel, tool
@tool
def get_travel_duration(start_location: str, destination_location: str, transportation_mode: Optional[str] = None) -> str:
"""Gets the travel time between two places.
Args:
start_location: the place from which you start your ride
destination_location: the place of arrival
transportation_mode: The transportation mode, in 'driving', 'walking', 'bicycling', or 'transit'. Defaults to 'driving'.
"""
import os # All imports are placed within the function, to allow for sharing to Hub.
import googlemaps
from datetime import datetime
gmaps = googlemaps.Client(os.getenv("GMAPS_API_KEY"))
if transportation_mode is None:
transportation_mode = "driving"
try:
directions_result = gmaps.directions(
start_location,
destination_location,
mode=transportation_mode,
departure_time=datetime(2025, 6, 6, 11, 0), # At 11, date far in the future
)
if len(directions_result) == 0:
return "No way found between these places with the required transportation mode."
return directions_result[0]["legs"][0]["duration"]["text"]
except Exception as e:
print(e)
return e
agent = CodeAgent(tools=[get_travel_duration], model=HfApiModel(), additional_authorized_imports=["datetime"])
agent.run("Can you give me a nice one-day trip around Paris with a few locations and the times? Could be in the city or outside, but should fit in one day. I'm travelling only with a rented bicycle.")
經過收集旅行時間和運算的幾個步驟後,代理返回了這個最終建議:巴黎單車一日遊行程:
1.早上 9:00 從艾菲爾鐵塔開始。
2.在艾菲爾鐵塔觀光至上午 10:30。
3.上午 10:46 前往 Notre-Dame Cathedral。
4.在 Notre-Dame 大教堂觀光至中午 12:16。
5.中午 12:41 前往 Montmartre。
6.在 Montmartre 觀光至下午 2:11。
7.下午 2:33 前往盧森堡花園。
8.在盧森堡花園觀光至下午 4:03。
9.下午 4:12 前往羅浮宮博物館。
10.羅浮宮博物館觀光至下午 5:42。
11.午休至下午 6:12。
12.計劃結束時間:下午 6:12。
建立工具後,將它分享到 Hub 就這麼簡單:
get_travel_duration.push_to_hub("{your_username}/get-travel-duration-tool")
人們在 X.com 上是如何評論 SmolAgents 的?
新的 smolagents 資料庫於今日由 @huggingface 看起來真的令人印象深刻。
- Ben Klieger (@benklieger) 2024 年 12 月 31 日
結合簡易性 (主檔案只有 ~1000 行!) 與基準意見功能 (支援代碼先行方法而非直接函式呼叫) 🔥
教學線程 (🧵) pic.twitter.com/sKuakggpcM
我花了一個週末的時間來學習代理工作流程,並玩了一下 smolagents 函式庫。 @huggingface.有了這個,我建立了一個相當酷的旅遊助理代理 (我稱它為 Tracy)。
- Arnav Jaitly (@arnitly) 2025 年 1 月 6 日
我使用 CodeLlama-34b-Instruct-hf 為我的 LLM 代理在後端做一個... pic.twitter.com/e7GHA7rVlk
好的、 @huggingface 我想說是用 smolagents 和他們的代理定義來完成的。
- Gerred (@devgerred) 2024 年 12 月 31 日
也許客戶只需要成為談判的一方,而我們需要繼續投資在法律學家本身。我喜歡這種即時的明確性。 pic.twitter.com/sD6qMqpzgs
smolagents 現在可在 ai-gradio 中使用
- AK (@_akhaliq) 2024 年 12 月 31 日
pip install ai-gradio[smolagents]==0.2.1
然後只需執行
import gradio as gr
匯入 ai_gradio
gr.load( name='smolagents:meta-llama/Llama-3.1-8B-Instruct'、
src=ai_gradio.registry).launch() pic.twitter.com/r7vfhrW36l
Hugging Face 引進了 Smolagents,這是一個專為使用大型語言模型 (LLM) 建立代理系統而設計的函式庫。
- Mazhar Choudhry (@mazrnow) 2025 年 1 月 5 日
有別於傳統以 LLM 為基礎的系統,此系統可透過...
顯示更多 https://t.co/EBEWPBEwAj pic.twitter.com/h2xswDLAxg
smolagents - 只需 3 行代碼即可建立自己的 Devin 類似代理,並可進行搜尋!🔥 pic.twitter.com/PPyhbFWN5w
- Vaibhav (VB) Srivastav (@reach_vb) 2024 年 12 月 29 日
Agent 元年來勢洶洶啊!一周猛漲 3.9K Star? ⚡️ @huggingface 正式发布并开源 smolagents!🔥
- Tom Huang (@tuturetom) 2025 年 1 月 8 日
3 行代码启动一个 Agent 完成复杂工作,支持 40+ LLM,支持无缝连接 Huggingface hub 下载一些自定义模型
不僅是一個 Agent 框架,還是一個將 HF 所有有價值的大小模型作為工具融入 Agent 的偉大嘗試 pic.twitter.com/wJZ9ZL8nRT