Funktionaufrufe verstehen
Auf dieser Seite
Was sind Funktionaufrufe?
Funktionaufrufe gehören zu den leistungsfähigsten Funktionen der Grok API. Sie ermöglichen es dem Modell, die Ausführung von Funktionen zu beantragen, die Sie definiert haben, um Daten abzurufen oder Aktionen in der realen Welt durchzuführen.
Wichtiger Punkt zum Verständnis: Grok führt die Funktionen selbst niemals aus. Das Modell analysiert Ihre Anfrage, stellt fest, dass es externe Informationen benötigt, und gibt Ihnen einen strukturierten Aufruf (Funktionname + Argumente) zurück. Ihr Client-Code führt die Funktion tatsächlich aus und sendet das Ergebnis anschließend an das Modell zurück.
Der 6-Schritt-Ablauf
Jede Interaktion mit Funktionaufrufen folgt einem präzisen sechsstufigen Zyklus. Dieser Ablauf ist fundamental, da er Ihre gesamte Architektur strukturiert.
Tools definieren
Sie beschreiben Ihre Funktionen mit JSON-Schemata: Name, Beschreibung und erwartete Parameter.
Anfrage senden
Sie senden die Benutzeranfrage zusammen mit den Tool-Definitionen an die API.
Tool_Aufruf empfangen
Das Modell gibt ein Objekt vom Typ `tool_call` zurück, das den Funktionsnamen und JSON-Argumente enthält.
Funktion ausführen
Ihr Client-Code führt die eigentliche Funktion aus (API-Aufruf, Datenbankabfrage, Berechnung...).
Ergebnis zurückgeben
Sie senden das Ausführungsergebnis in einer Nachricht mit der Rolle `tool` an das Modell zurück.
Endgültige Antwort
Das Modell integriert das Ergebnis und generiert eine Antwort in natürlicher Sprache für den Benutzer.
Warum sind Funktionaufrufe so wichtig?
Ohne Funktionaufrufe ist ein Sprachmodell auf sein Trainingswissen beschränkt. Es kann keine Datenbank konsultieren, keine Drittanbieter-API abfragen oder keine Echtzeitberechnung durchführen. Funktionaufrufe lösen dieses grundlegende Problem, indem sie dem Modell die Fähigkeit verleihen, strukturiert und kontrolliert mit der Außenwelt zu interagieren.
Hier sind einige konkrete Anwendungsfälle:
- Echtzeitdaten: Wetter, Aktienkurse, Bestellstatus
- Geschäftsvorgänge: Erstellung eines Tickets, Absenden einer E-Mail, Buchung eines Zeitfensters
- Präzise Berechnungen: mathematische Operationen, Umrechnungen, Aggregationen
- Datenbanken: Produktsuche, Kundenhistorie, Lagerbestand
Der Unterschied zu einem Standardprompt
In einem Standardaustausch stellen Sie eine Frage und das Modell antwortet direkt. Bei Funktionaufrufen kann das Modell seine Antwort unterbrechen, um zusätzliche Informationen über einen Funktionaufruf anzufordern. Diese Fähigkeit, den Generierungsfluss zu unterbrechen, macht den Mechanismus so leistungsfähig.
Das Modell schlussfolgert dabei wie folgt: „Um diese Frage zu beantworten, benötige ich das aktuelle Wetter in Paris. Ich werde die Funktion get_weather mit dem Parameter city: Paris aufrufen.”
Wichtige Grenzen
Die Grok API akzeptiert pro Anfrage bis zu 200 Tools. Dies ist für die meisten Anwendungsfälle mehr als ausreichend. Beachten Sie jedoch, dass jede Tool-Definition Input-Tokens verbraucht. Je mehr Tools Sie deklarieren, desto teurer wird die Anfrage und desto länger benötigt das Modell, um das richtige Tool auszuwählen.
Wichtige Erkenntnisse
- Funktionaufrufe ermöglichen es dem Modell, die Ausführung von Funktionen zu beantragen, nicht ihre eigene Ausführung
- Der Ablauf folgt immer 6 Schritten: definieren, senden, empfangen, ausführen, zurückgeben, antworten
- Funktionen werden clientseitig in Ihrem Code ausgeführt
- Maximum 200 Tools pro Anfrage
- Jede Tool-Definition verbraucht Tokens – seien Sie selektiv