Einen Agenten mit Tools erstellen

AI-Agents mit Hugging Face smolagents

Adel Nehme

VP of AI Curriculum, DataCamp

Einen Code-Agenten erstellen (ohne Tools)

from smolagents import CodeAgent, InferenceClientModel

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

agent.run("Berechne den Durchschnitt der Liste [23, 45, 67, 89]")
Ausführung des analysierten Codes:
  numbers = [23, 45, 67, 89]                                                                               
  average = sum(numbers) / len(numbers)                                                                            
  final_answer(average)                                                                                             
Endgültige Antwort: 56.0
[Schritt 1: Dauer 4,14 Sekunden| Eingabetokens: 1.900 | Ausgabetokens: 109]
56.0
AI-Agents mit Hugging Face smolagents

Warum Tools mit Code-Agenten nutzen?

Der von uns definierte Agent kann bereits viele Aufgaben lösen mit:

  • Einem LLM-Modell
  • Python-Code

Aber er könnte auch Zugang zu externen Informationen benötigen:

  • Beispiel: Live-Webdaten

Hier kommen die Tools ins Spiel!

AI-Agents mit Hugging Face smolagents

Ein Web-Suchtool hinzufügen

from smolagents import CodeAgent, InferenceClientModel, WebSearchTool

agent = CodeAgent(
    model=InferenceClientModel(),
    tools=[WebSearchTool()]
)
AI-Agents mit Hugging Face smolagents

Code-Agent mit Web-Suchtool-Ausgabe

agent.run("Was ist das höchste Gebäude der Welt derzeit?")
Ausführung des analysierten Codes:
  tallest_building_info = web_search("höchstes Gebäude der Welt 2023")                                
  print(tallest_building_info)                                                                                

# Suchergebnisse aus Platzgründen weggelassen...

Ausführung des analysierten Codes: 
  final_answer("Burj Khalifa, Dubai, 828 Meter")                                                              
Endgültige Antwort: Burj Khalifa, Dubai, 828 Meter
[Schritt 2: Dauer 2,97 Sekunden| Eingabetokens: 5.078 | Ausgabetokens: 153]
Burj Khalifa, Dubai, 828 Meter
AI-Agents mit Hugging Face smolagents

Eingebaute Tools (nach Kategorie)

Kategorie Tools
Informationssuche ApiWebSearchTool, DuckDuckGoSearchTool, GoogleSearchTool, WebSearchTool, WikipediaSearchTool
Web-Interaktion VisitWebpageTool
Code-Ausführung PythonInterpreterTool
Benutzerinteraktion UserInputTool
Sprachverarbeitung SpeechToTextTool
Workflow-Steuerung FinalAnswerTool
1 https://huggingface.co/docs/smolagents/main/en/reference/default_tools
AI-Agents mit Hugging Face smolagents

Tools vom Hugging Face Hub

AI-Agents mit Hugging Face smolagents

Community-Tools von Hugging Face nutzen

from smolagents import load_tool

# Remote-Tool von Hugging Face laden
model_downloads_tool = load_tool(
    repo_id="example-repo/hf-model-downloads",
    trust_remote_code=True
)

# Agent mit Remote- und eingebauten Tools erstellen
agent = CodeAgent(
    tools=[model_downloads_tool, WebSearchTool()],
    model=InferenceClientModel()
)

agent.run("Finde das meist heruntergeladene Bildklassifikationsmodell auf Hugging Face")
google/vit-base-patch16-224-in21k
AI-Agents mit Hugging Face smolagents

Lass uns üben!

AI-Agents mit Hugging Face smolagents

Preparing Video For Download...