Aller au contenu principal

Les outils intégrés de la Responses API

Donner des capacités au modèle

Les modèles Grok ne se limitent pas à la génération de texte. Via le paramètre tools, vous pouvez leur donner accès à des outils qui étendent considérablement leurs capacités : recherche web en temps réel, recherche sur X (Twitter), exécution de code Python, et vos propres fonctions personnalisées.

web_search
Recherche web temps réel
x_search
Recherche sur X
code
Interpréteur Python
function
Fonctions personnalisées

Les 4 types d’outils

Permet au modèle de rechercher des informations sur le web en temps réel :

{
  "model": "grok-4.20-reasoning",
  "input": "Quelles sont les dernières nouvelles sur l'IA en Europe ?",
  "tools": [{"type": "web_search"}]
}

Le modèle décide automatiquement quand effectuer une recherche. Les résultats sont intégrés dans sa réponse avec des citations.

Recherche des publications sur X (anciennement Twitter) :

{
  "model": "grok-4.20-reasoning",
  "input": "Que dit la communauté tech sur le dernier iPhone ?",
  "tools": [{"type": "x_search"}]
}

Particulièrement utile pour capter l’opinion publique, les tendances et les réactions en temps réel.

code_interpreter

Exécute du code Python côté serveur pour des calculs, de l’analyse de données ou la création de graphiques :

{
  "model": "grok-4.20-reasoning",
  "input": "Calcule la moyenne et l'écart-type de ces valeurs : 12, 15, 18, 22, 9, 31",
  "tools": [{"type": "code_interpreter"}]
}

Le modèle écrit du code Python, l’exécute sur les serveurs xAI, et intègre les résultats dans sa réponse.

function

Vos propres fonctions que le modèle peut appeler. Le modèle génère les arguments, mais c’est votre code qui exécute la fonction :

{
  "model": "grok-4.20-reasoning",
  "input": "Quel temps fait-il à Paris ?",
  "tools": [{
    "type": "function",
    "name": "get_weather",
    "description": "Récupère la météo pour une ville donnée",
    "parameters": {
      "type": "object",
      "properties": {
        "city": {"type": "string", "description": "Nom de la ville"},
        "unit": {"type": "string", "enum": ["celsius", "fahrenheit"]}
      },
      "required": ["city"]
    }
  }]
}

Combiner plusieurs outils

Vous pouvez passer jusqu’à 128 outils dans une seule requête. Le modèle choisit celui (ou ceux) qui conviennent :

{
  "model": "grok-4.20-reasoning",
  "input": "Recherche les derniers résultats de la Ligue 1 et crée un tableau des scores.",
  "tools": [
    {"type": "web_search"},
    {"type": "code_interpreter"}
  ]
}

Dans cet exemple, le modèle pourrait d’abord utiliser web_search pour trouver les résultats, puis code_interpreter pour les formater en tableau.

Outils serveur vs outils client

La distinction est fondamentale :

  • Outils serveur (web_search, x_search, code_interpreter) : exécutés automatiquement par les serveurs xAI. Vous n’avez rien à faire — le modèle lance la recherche ou le code, récupère le résultat, et l’intègre dans sa réponse.

  • Outils client (function) : le modèle génère un appel de fonction avec les arguments, puis pause la génération. Votre code exécute la fonction, et vous renvoyez le résultat dans une nouvelle requête.

Cette différence a un impact direct sur l’architecture de votre application, comme vous le verrez dans les leçons suivantes.

Points clés à retenir

  • Quatre types d’outils : web_search, x_search, code_interpreter, function
  • Les trois premiers sont exécutés côté serveur — aucune infrastructure requise de votre part
  • Les function sont exécutées côté client — votre code gère l’exécution
  • Vous pouvez combiner jusqu’à 128 outils par requête
  • Le modèle décide automatiquement quand et quels outils utiliser