Einführung in Agentic RAG

AI-Agents mit Hugging Face smolagents

Adel Nehme

VP of AI Curriculum, DataCamp

Agentic RAG: Iterative Suche + Schlussfolgerung

AI-Agents mit Hugging Face smolagents

Zustandslose vs. Zustandsbehaftete Werkzeuge in smolagents

Funktionswerkzeuge (@tool Dekorator)

  • Zustandslos: keine Speicherung zwischen Aufrufen
  • Kann deinen Vektorspeicher zwischen Aufrufen nicht merken

Klassenbasierte Werkzeuge (Tool Unterklasse)

  • Zustandsbehaftet: behält Referenzen über Aufrufe hinweg
  • Speichert komplexe Objekte
AI-Agents mit Hugging Face smolagents

Die Anatomie eines klassenbasierten Werkzeugs

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_parameters
def forward(self, parameter_name): # Agent ruft diese Methode auf return "verarbeitete Ausgabe"
AI-Agents mit Hugging Face smolagents

Ein Rezept-Suchwerkzeug erstellen

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 = k
def 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."
AI-Agents mit Hugging Face smolagents

Kochassistent-Agent: Alles zusammenführen

# 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
)
AI-Agents mit Hugging Face smolagents

Agentenlauf-Beispiel

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:

  • Auf der Hautseite anbraten, mit Butter, Knoblauch, Thymian begießen
  • Oder bei 200°C mit Zitronen-Kräuter-Butter 10 bis 12 Min. backen"
AI-Agents mit Hugging Face smolagents

Lass uns üben!

AI-Agents mit Hugging Face smolagents

Preparing Video For Download...