Aller au contenu principal

Outils serveur et function calling

Mis à jour le 30 juillet 2026

Enrichir les batchs avec des outils

Les requêtes batch ne sont pas limitées à du texte brut. L’API Responses et Chat Completions supportent respectivement les outils serveur et le function calling, même en mode asynchrone. Cette leçon détaille comment les intégrer dans vos batchs.

Outils côté serveur

Les outils serveur sont exécutés directement par Grok pendant le traitement du batch. Vous n’avez pas à gérer leur exécution : Grok appelle l’outil, reçoit le résultat, et l’intègre dans sa réponse.

Trois types d’outils serveur sont disponibles :

Recherche web

Grok peut effectuer des recherches sur le web pour enrichir ses réponses avec des informations actualisées :

{"custom_id": "news-1", "method": "POST", "url": "/v1/responses", "body": {"model": "grok-4.5", "input": "Quels sont les derniers développements en informatique quantique ?", "tools": [{"type": "web_search"}]}}

En mode batch, la recherche web est utile pour des tâches d’enrichissement de données : vérifier des informations, collecter des faits actuels, ou comparer des données avec les sources en ligne.

Exécution de code

Grok peut exécuter du code Python dans un environnement sandboxé :

{"custom_id": "calc-1", "method": "POST", "url": "/v1/responses", "body": {"model": "grok-4.5", "input": "Calculez la moyenne mobile sur 30 jours de ces données : [12, 15, 18, 14, 22, 19, 25, 28, 30, 27]", "tools": [{"type": "code_interpreter"}]}}

L’exécution de code dans un batch est pertinente pour des calculs complexes, des analyses statistiques, ou des transformations de données que le modèle ne pourrait pas faire par raisonnement seul.

Serveurs MCP

Le Model Context Protocol permet à Grok d’accéder à des services externes configurés :

{"custom_id": "mcp-1", "method": "POST", "url": "/v1/responses", "body": {"model": "grok-4.5", "input": "Récupérez les métriques de performance du serveur", "tools": [{"type": "mcp", "server_label": "monitoring"}]}}

Les serveurs MCP doivent être préalablement configurés dans votre compte xAI. En mode batch, ils permettent d’interroger des APIs externes ou des bases de données à grande échelle.

Function calling côté client

Le function calling est un outil côté client : Grok génère un appel de fonction structure, mais c’est votre code qui l’exécute. En mode batch, cela fonctionne différemment des outils serveur.

Définition des fonctions

{"custom_id": "extract-1", "method": "POST", "url": "/v1/chat/completions", "body": {"model": "grok-4.5", "messages": [{"role": "user", "content": "Extrayez les informations de contact : Jean Dupont, 01 23 45 67 89, [email protected]"}], "tools": [{"type": "function", "function": {"name": "save_contact", "description": "Sauvegarde les informations de contact extraites", "parameters": {"type": "object", "properties": {"name": {"type": "string"}, "phone": {"type": "string"}, "email": {"type": "string"}}, "required": ["name"]}}}], "tool_choice": "auto"}}

Traitement des résultats

En mode batch, Grok retourne l’appel de fonction généré dans les résultats. C’est à vous de l’exécuter :

for result in batch_results:
    response = result.response
    if response.choices[0].finish_reason == "tool_calls":
        tool_call = response.choices[0].message.tool_calls[0]
        function_name = tool_call.function.name
        arguments = json.loads(tool_call.function.arguments)

        # Exécutez la fonction localement
        if function_name == "save_contact":
            save_to_database(arguments)

Le function calling en mode batch est idéal pour l’extraction structurée : vous définissez le schéma des données à extraire, Grok parse les documents et génère les appels de fonction, puis vous traitez les résultats en masse.

Combinaison d’outils

Vous pouvez combiner plusieurs outils dans une même requête :

{"custom_id": "multi-1", "method": "POST", "url": "/v1/responses", "body": {"model": "grok-4.5", "input": "Recherchez le cours actuel du Bitcoin et calculez sa variation sur 7 jours", "tools": [{"type": "web_search"}, {"type": "code_interpreter"}]}}

Grok utilisera les outils dans l’ordre qu’il juge pertinent : d’abord la recherche web pour obtenir les données, puis l’exécution de code pour le calcul.

Limites des outils en batch

Quelques contraintes à connaître :

  • Les outils serveur augmentent le temps de traitement du batch
  • Les requêtes avec recherche web dépendent de la disponibilité des sources
  • Le function calling ne permet pas de boucle interactive (un seul aller-retour)
  • Les outils MCP nécessitent une configuration préalable dans votre compte

Points clés à retenir

  • Les outils serveur (web search, code, MCP) sont exécutés par Grok pendant le traitement
  • Le function calling génère des appels structurés que vous exécutez côté client
  • Vous pouvez combiner plusieurs outils dans une même requête
  • Les outils serveur augmentent les délais de traitement
  • Le function calling en batch est idéal pour l’extraction structurée de données