Zum Hauptinhalt

Function Calling / Tool Use

Function Calling (auch Tool Use) ermöglicht es einem LLM, strukturiert externe Funktionen oder APIs aufzurufen, anstatt nur Text zu generieren – das Modell entscheidet selbst, wann und mit welchen Parametern ein Tool genutzt wird.

AIFortgeschrittenfunction-callingtool-usellm-integration

Function Calling / Tool Use

Moderne LLMs wie GPT-4 oder Claude können nicht nur Text ausgeben, sondern auch strukturierte Funktionsaufrufe generieren. Der Entwickler definiert verfügbare Funktionen (Tools) mit Name, Beschreibung und Parameter-Schema – das Modell entscheidet im Verlauf eines Gesprächs, ob und wie es diese aufruft.

Wie funktioniert es?

  1. Du übergibst der API eine Liste von Tool-Definitionen (meist als JSON Schema).
  2. Das Modell analysiert den User-Input und entscheidet, ob ein Tool-Call sinnvoll ist.
  3. Die API antwortet nicht mit Freitext, sondern mit einem strukturierten Tool-Call-Objekt.
  4. Dein Code führt die eigentliche Funktion aus und gibt das Ergebnis zurück.
  5. Das Modell formuliert daraus eine finale Antwort.

Praxisbeispiel (OpenAI SDK, Python)

import openai
import json

client = openai.OpenAI()

tools = [{
    "type": "function",
    "function": {
        "name": "get_weather",
        "description": "Gibt das aktuelle Wetter für eine Stadt zurück",
        "parameters": {
            "type": "object",
            "properties": {
                "city": {"type": "string", "description": "Stadtname"}
            },
            "required": ["city"]
        }
    }
}]

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "Wie ist das Wetter in Berlin?"}],
    tools=tools
)

tool_call = response.choices[0].message.tool_calls[0]
args = json.loads(tool_call.function.arguments)
# args = {"city": "Berlin"}

# Eigene Logik ausführen:
wetter = get_weather(args["city"])  # deine Funktion

Wichtige Konzepte

  • Parallel Tool Calls: Neuere Modelle können mehrere Tools gleichzeitig aufrufen.
  • Tool Choice: Du kannst erzwingen, dass ein bestimmtes Tool genutzt wird (tool_choice="required").
  • Structured Outputs: In Kombination mit JSON-Schema-Validierung erhältst du garantiert valide Parameter.

Typische Anwendungsfälle

  • Datenbankabfragen oder REST-API-Calls aus einem Chat-Flow heraus
  • Kalender- oder CRM-Integration
  • Mathematische Berechnungen (das Modell rechnet nicht selbst, sondern ruft einen Calculator auf)
  • Basis für AI Agents, die eigenständig Aktionen ausführen

Abgrenzung zu RAG

Bei RAG wird Kontext passiv ins Prompt injiziert. Bei Function Calling agiert das Modell aktiv und triggert Code – das ist der entscheidende Unterschied und macht es zum Fundament agentenbasierter Systeme.

Inhouse statt Nachschlagewerk

Für den Transfer ins Unternehmen sind die Inhouse-Schulungen der passende nächste Schritt.