Aller au contenu principal

Outils intégrés : recherche web, X et collections

Les outils natifs du Voice Agent

En plus du function calling personnalisé et des serveurs MCP, l’API Voice Agent propose plusieurs outils intégrés que l’agent peut utiliser automatiquement pendant la conversation. Ces outils ne nécessitent aucune logique d’exécution de votre côté : le serveur xAI les gère entièrement.

web_search : recherche sur le web

Cet outil permet à l’agent de rechercher des informations sur le web en temps réel pendant la conversation :

{
  "type": "session.update",
  "session": {
    "tools": [
      {"type": "web_search"}
    ]
  }
}

Quand l’utilisateur pose une question factuelle (“Quel temps fait-il à Paris ?”, “Qui a gagné le match hier ?”), l’agent effectue automatiquement une recherche web et utilise les résultats pour formuler sa réponse vocale.

Aucun événement spécifique n’est émis côté client pour les outils intégrés : l’agent utilise les résultats en interne et les intègre dans sa réponse audio.

x_search : recherche sur X (Twitter)

Cet outil permet à l’agent de rechercher des publications sur la plateforme X :

{
  "type": "session.update",
  "session": {
    "tools": [
      {
        "type": "x_search",
        "allowed_x_handles": ["elikifouelyassine", "gaborcselle"]
      }
    ]
  }
}

Le paramètre allowed_x_handles est optionnel. S’il est présent, la recherche est limitée aux publications de ces comptes spécifiques. Sans ce paramètre, l’agent recherche sur l’ensemble de X.

  • Veille concurrentielle : “Qu’a publié [concurrent] cette semaine ?”
  • Support client : “Y a-t-il des plaintes récentes sur notre produit sur X ?”
  • Actualités : “Quelles sont les dernières nouvelles sur [sujet] ?”
  • Tendances : “De quoi parle-t-on en ce moment dans [secteur] ?“

file_search : recherche dans des collections RAG

L’outil file_search permet à l’agent vocal d’interroger des collections de documents vectorisés (RAG). C’est l’outil idéal pour les agents qui doivent accéder à une base de connaissances interne :

{
  "type": "session.update",
  "session": {
    "tools": [
      {
        "type": "file_search",
        "vector_store_ids": ["vs_abc123", "vs_def456"],
        "max_num_results": 10
      }
    ]
  }
}

Paramètres

  • vector_store_ids : liste des identifiants de collections vectorielles à interroger. Vous pouvez en spécifier plusieurs pour combiner différentes sources de connaissances
  • max_num_results : nombre maximum de résultats à retourner (par défaut 10)

Scénarios d’utilisation

  • FAQ vocale : l’agent répond aux questions des clients en s’appuyant sur la documentation
  • Support technique : recherche dans les manuels et guides de dépannage
  • Formation : l’agent a accès au contenu pédagogique pour répondre aux questions des apprenants
  • Assistance juridique : recherche dans les contrats et documents légaux

Combiner plusieurs outils

Vous pouvez activer plusieurs outils simultanément. L’agent choisira celui qui est le plus pertinent selon le contexte de la conversation :

{
  "type": "session.update",
  "session": {
    "tools": [
      {"type": "web_search"},
      {"type": "x_search"},
      {
        "type": "file_search",
        "vector_store_ids": ["vs_documentation"]
      },
      {
        "type": "function",
        "name": "creer_ticket",
        "description": "Crée un ticket de support",
        "parameters": {
          "type": "object",
          "properties": {
            "sujet": {"type": "string"},
            "priorite": {"type": "string", "enum": ["basse", "moyenne", "haute"]}
          },
          "required": ["sujet"]
        }
      },
      {
        "type": "mcp",
        "server_url": "https://mcp.exemple.com/sse",
        "server_label": "CRM"
      }
    ]
  }
}

Dans cet exemple, l’agent peut :

  • Chercher sur le web pour les questions générales
  • Consulter X pour les tendances et opinions
  • Fouiller la documentation interne pour les questions techniques
  • Créer un ticket via function calling
  • Accéder au CRM via MCP

Points clés à retenir

  • Cinq types d’outils sont disponibles : web_search, x_search, file_search, function et mcp
  • Les outils intégrés (web_search, x_search, file_search) sont exécutés côté serveur sans code de votre part
  • file_search interroge des collections vectorielles pour le RAG
  • x_search peut être limité à des comptes spécifiques avec allowed_x_handles
  • Vous pouvez combiner tous les types d’outils dans une même session