Hugging Face smolagents 簡介

使用 Hugging Face smolagents 的 AI 代理

Adel Nehme

VP of AI Curriculum, DataCamp

使用 Hugging Face smolagents 的 AI 代理

使用 Hugging Face smolagents 的 AI 代理

使用 Hugging Face smolagents 的 AI 代理

使用 Hugging Face smolagents 的 AI 代理

使用 Hugging Face smolagents 的 AI 代理

AI agent definition

使用 Hugging Face smolagents 的 AI 代理

從聊天機器人到 Agent

聊天機器人:

  • 以自然語言回應
  • 被動回應式

代理(Agent):

  • 能執行動作(網頁搜尋、讀取檔案、分析資料等)
  • 主動推理以達成目標

Agent 的運作循環:

使用 Hugging Face smolagents 的 AI 代理

範例:競品定價研究

全都來自一個提示詞!

使用 Hugging Face smolagents 的 AI 代理

什麼是 smolagents?

  • 輕量級 Python 框架
  • 由 Hugging Face 開發

支援兩種 agent:

  • ToolCallingAgent:使用結構化函式呼叫
  • CodeAgent:撰寫並執行 Python 程式碼
使用 Hugging Face smolagents 的 AI 代理

Function-Calling 的運作方式

Action 1: {"tool": "search_company", "company": "Competitor A"}
Action 2: {"tool": "get_pricing", "company": "Competitor A", "plan": "Basic"}
Action 3: {"tool": "get_pricing", "company": "Competitor A", "plan": "Pro"}
Action 4: {"tool": "search_company", "company": "Competitor B"}
Action 5: {"tool": "get_pricing", "company": "Competitor B", "plan": "Basic"}
使用 Hugging Face smolagents 的 AI 代理

Code Agent 的運作方式

competitors = ["Competitor A", "Competitor B", "Competitor C"]
pricing_data = {}

for company in competitors:
    company_info = search_company(company)
    plans = extract_pricing_plans(company_info)
    pricing_data[company] = plans

most_affordable_option = min(pricing_data, 
                      key=lambda x: pricing_data[x]['basic_plan'])
使用 Hugging Face smolagents 的 AI 代理

Code Agent 流程

研究顯示成功率比函式呼叫法高約 20%。

1 https://huggingface.co/papers/2402.01030
使用 Hugging Face smolagents 的 AI 代理

一起來練習吧!

使用 Hugging Face smolagents 的 AI 代理

Preparing Video For Download...