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.
Cas d’usage de x_search
- 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 connaissancesmax_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,functionetmcp - Les outils intégrés (
web_search,x_search,file_search) sont exécutés côté serveur sans code de votre part file_searchinterroge des collections vectorielles pour le RAGx_searchpeut être limité à des comptes spécifiques avecallowed_x_handles- Vous pouvez combiner tous les types d’outils dans une même session