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.
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?
- Du übergibst der API eine Liste von Tool-Definitionen (meist als JSON Schema).
- Das Modell analysiert den User-Input und entscheidet, ob ein Tool-Call sinnvoll ist.
- Die API antwortet nicht mit Freitext, sondern mit einem strukturierten Tool-Call-Objekt.
- Dein Code führt die eigentliche Funktion aus und gibt das Ergebnis zurück.
- 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.
Verwandte Begriffe
Inhouse statt Nachschlagewerk
Für den Transfer ins Unternehmen sind die Inhouse-Schulungen der passende nächste Schritt.