AI-Agents mit Hugging Face smolagents
Adel Nehme
VP of AI Curriculum, DataCamp

Funktionswerkzeuge (@tool Dekorator)
Klassenbasierte Werkzeuge (Tool Unterklasse)
from smolagents import Tool class ToolName(Tool): name = "tool_name"description = "Klare Beschreibung für den Agenten"inputs = { "parameter_name": {"type": "parameter_type", "description": "Zweck des Parameters"} } output_type = "string"def __init__(self, custom_parameters): super().__init__() self.custom_attribute = custom_parametersdef forward(self, parameter_name): # Agent ruft diese Methode auf return "verarbeitete Ausgabe"
class RecipeSearchTool(Tool): name = "recipe_search" description = "Suche in Kochdokumentationen nach Rezepten, Techniken und Informationen zur Mahlzeitenplanung" inputs = { "query": {"type": "string", "description": "Natürliche Sprachabfrage zum Kochen"} } output_type = "string"def __init__(self, vectorstore, k=6): super().__init__() self.vectorstore = vectorstore self.k = kdef forward(self, query): docs = self.vectorstore.similarity_search(query, k=self.k) return "\n\n".join(doc.page_content for doc in docs) or "Nichts gefunden."
# Initialisiere das Suchwerkzeug
recipe_search = RecipeSearchTool(vector_store)
agent = CodeAgent(
tools=[recipe_search],
model=model,
instructions="Suche gründlich, um vollständige Rezeptantworten zu liefern.
Wenn die ersten Ergebnisse unvollständig erscheinen, versuche andere Suchbegriffe.",
verbosity_level=1,
max_steps=8
)
Anfrage: Wie koche ich Lachs mit Kräutern nach professionellen Techniken?
[Schritt 1] Suche "Lachs Kräuter Kochtechniken"...
[Schritt 2] Suche "professionelle Lachszubereitung"...
[Endgültige Antwort]
"Filets trocken tupfen, mit Kräutern würzen und:
AI-Agents mit Hugging Face smolagents