Mischen von Server- und Client-Tools
Auf dieser Seite
Zwei Kategorien von Tools auf derselben Plattform
Die Grok-API unterscheidet zwei grundlegend verschiedene Tool-Typen basierend auf der Ausführung. Das Verständnis dieses Unterschieds ist unerlässlich für das Design robuster Architekturen.
Eingebaute Tools (Server-seitig)
xAI führt diese Tools automatisch auf ihren Servern aus. Sie müssen nichts verwalten – keine lokale Ausführung, keine Ergebnisweiterleitung. Das Modell ruft sie auf und erhält die Ergebnisse direkt.
| Tool | Identifier | Beschreibung |
|---|---|---|
| Web-Suche | web_search | Echtzeit-Web-Suche |
| X-Suche | x_search | Suche auf X/Twitter |
| Code-Interpreter | code_interpreter | Sandboxierte Python-Ausführung |
| Collections-Suche | collections_search | Suche innerhalb Ihrer hochgeladenen Dokumente |
| Remote MCP | mcp | Verbindung zu externen MCP-Servern |
Benutzerdefinierte Funktionen (Client-seitig)
Dies sind Ihre eigenen Funktionen, die über Funktionsaufrufe definiert werden. Das Modell gibt einen tool_call zurück, Ihr Code führt die Funktion aus, und Sie senden das Ergebnis zurück. Dies ist der Mechanismus, den Sie in vorherigen Lektionen gelernt haben.
Kombinieren beider Typen in einer einzigen Anfrage
Die Stärke der Grok-API liegt in der Fähigkeit, Server- und Client-Tools in einer einzigen Anfrage zu mischen:
tools = [
# Server-Tool — wird automatisch von xAI ausgeführt
{"type": "web_search"},
# Client-Tool — wird von Ihrem Code ausgeführt
{
"type": "function",
"function": {
"name": "save_to_database",
"description": "Informationen in die Datenbank speichern",
"parameters": {
"type": "object",
"properties": {
"key": {"type": "string"},
"value": {"type": "string"}
},
"required": ["key", "value"]
}
}
}
]
Wenn das Modell diese Anfrage erhält, kann es:
web_searchverwenden, um Informationen zu finden (automatische serverseitige Ausführung)save_to_databaseaufrufen, um das Ergebnis zu speichern (Rückkehr zum Client)
Der hybride Ablauf
Das Verhalten unterscheidet sich je nach Tool-Typ:
- Server-Tool: Das Modell ruft das Tool auf, xAI führt es aus, das Ergebnis wird automatisch integriert, und das Modell setzt seinen Vorgang fort.
- Client-Tool: Das Modell gibt den
tool_callan den Client zurück, die Ausführung wird unterbrochen und setzt sich fort, wenn Sie das Ergebnis zurücksenden.
Wenn das Modell beide Typen in derselben Anfrage verwendet, führen Server-Tools zuerst aus (ohne Ihre Intervention). Anschließend gibt das Modell, falls es auch ein Client-Tool benötigt, den tool_call an Sie zurück, wobei die Ergebnisse der Server-Tools bereits in seinen Kontext integriert sind.
Praxisbeispiele
Web-Suche + Geschäftslogik
# Benutzer fragt: "Finde den Bitcoin-Preis und speichere ihn"
# Das Modell:
# 1. Ruft web_search auf, um den Preis zu finden (serverseitig, automatisch)
# 2. Ruft save_price(symbol="BTC", price=68432) auf (clientseitig)
X-Suche + Benachrichtigung
# "Weise mich auf Tweets zu unserem Produkt seit gestern hin"
# Das Modell:
# 1. Ruft x_search auf, um Tweets zu finden (serverseitig)
# 2. Ruft send_notification(count=12, summary="...") auf (clientseitig)
Code-Interpreter + Speicher
# "Berechne den Durchschnitt dieser Daten und speichere das Ergebnis"
# Das Modell:
# 1. Ruft code_interpreter für die Berechnung auf (serverseitig)
# 2. Ruft save_result(key="avg", value="42.5") auf (clientseitig)
Abrechnung für Server-Tools
Eingebaute Tools werden auf zwei Arten abgerechnet:
- Tokens: Standardverbrauch (Eingabe + Ausgabe)
- Aufrufe: Fixkosten pro Tool-Aufruf
Das Modell kann für eine einzelne Anfrage mehrere Server-Tools aufrufen – die Kosten summieren sich. Halten Sie dies im Hinterkopf, wenn Sie web_search aktivieren: Das Modell könnte mehrere Suchen durchführen, um seine Ergebnisse zu verfeinern.
Kernaussagen
- Zwei Tool-Typen: Server (automatisch) und Client (Funktionsaufrufe)
- Server-Tools (
web_search,x_search,code_interpreter) werden ohne Ihre Intervention ausgeführt - Sie können beide Typen in einer einzigen Anfrage mischen
- Server-Tools führen zuerst aus, danach kann das Modell Ihre Funktionen aufrufen
- Jeder Server-Tool-Aufruf wird abgerechnet (Tokens + Kosten pro Aufruf)
- Zitationen werden automatisch für Daten aus Server-Tools generiert