Tạo Agent với Công cụ

AI Agents với Hugging Face smolagents

Adel Nehme

VP of AI Curriculum, DataCamp

Tạo Code Agent (không công cụ)

from smolagents import CodeAgent, InferenceClientModel

agent = CodeAgent(
    tools=[],
    model=InferenceClientModel()
)

agent.run("Calculate the average of the list [23, 45, 67, 89]")
Executing parsed code:
  numbers = [23, 45, 67, 89]                                                                               
  average = sum(numbers) / len(numbers)                                                                            
  final_answer(average)                                                                                             
Final answer: 56.0
[Step 1: Duration 4.14 seconds| Input tokens: 1,900 | Output tokens: 109]
56.0
AI Agents với Hugging Face smolagents

Vì sao dùng công cụ với Code Agent?

Agent đã có thể giải nhiều tác vụ bằng:

  • Mô hình LLM
  • Mã Python

Nhưng cũng có lúc cần thông tin bên ngoài:

  • Ví dụ: dữ liệu web thời gian thực

Đó là lúc cần công cụ!

AI Agents với Hugging Face smolagents

Thêm công cụ tìm kiếm web

from smolagents import CodeAgent, InferenceClientModel, WebSearchTool

agent = CodeAgent(
    model=InferenceClientModel(),
    tools=[WebSearchTool()]
)
AI Agents với Hugging Face smolagents

Kết quả Code Agent với công cụ tìm kiếm web

agent.run("What's the tallest building in the world right now?")
Executing parsed code:
  tallest_building_info = web_search("tallest building in the world 2023")                                
  print(tallest_building_info)                                                                                

# Search results omitted for brevity...

Executing parsed code: 
  final_answer("Burj Khalifa, Dubai, 828 meters")                                                              
Final answer: Burj Khalifa, Dubai, 828 meters
[Step 2: Duration 2.97 seconds| Input tokens: 5,078 | Output tokens: 153]
Burj Khalifa, Dubai, 828 meters
AI Agents với Hugging Face smolagents

Công cụ tích hợp (theo danh mục)

Danh mục Công cụ
Truy xuất thông tin ApiWebSearchTool, DuckDuckGoSearchTool, GoogleSearchTool, WebSearchTool, WikipediaSearchTool
Tương tác web VisitWebpageTool
Thực thi mã PythonInterpreterTool
Tương tác người dùng UserInputTool
Xử lý giọng nói SpeechToTextTool
Kiểm soát quy trình FinalAnswerTool
1 https://huggingface.co/docs/smolagents/main/en/reference/default_tools
AI Agents với Hugging Face smolagents

Công cụ từ Hugging Face Hub

AI Agents với Hugging Face smolagents

Dùng công cụ cộng đồng từ Hugging Face

from smolagents import load_tool

# Load remote tool from Hugging Face
model_downloads_tool = load_tool(
    repo_id="example-repo/hf-model-downloads",
    trust_remote_code=True
)

# Create agent with remote + built-in tools
agent = CodeAgent(
    tools=[model_downloads_tool, WebSearchTool()],
    model=InferenceClientModel()
)

agent.run("Find the most downloaded image classification model on Hugging Face")
google/vit-base-patch16-224-in21k
AI Agents với Hugging Face smolagents

Ayo berlatih!

AI Agents với Hugging Face smolagents

Preparing Video For Download...