> Discover all available pages from the documentation index: https://mastra.zisheng.pro/fr/llms.txt # voice.addTools() La méthode `addTools()` dote un fournisseur Voice de Tools (fonctions) que le modèle peut appeler lors d’interactions en temps réel. Les assistants vocaux peuvent utiliser ces Tools pour rechercher des informations ou effectuer des calculs. Ils peuvent également interagir avec des systèmes externes. ## Exemple d’utilisation ```typescript import { OpenAIRealtimeVoice } from '@mastra/voice-openai-realtime' import { createTool } from '@mastra/core/tools' import { z } from 'zod' // Define tools const weatherTool = createTool({ id: 'getWeather', description: 'Get the current weather for a location', inputSchema: z.object({ location: z.string().describe('The city and state, e.g. San Francisco, CA'), }), outputSchema: z.object({ message: z.string(), }), execute: async inputData => { // Fetch weather data from an API const response = await fetch( `https://api.weather.com?location=${encodeURIComponent(inputData.location)}`, ) const data = await response.json() return { message: `The current temperature in ${inputData.location} is ${data.temperature}°F with ${data.conditions}.`, } }, }) // Initialize a real-time voice provider const voice = new OpenAIRealtimeVoice({ realtimeConfig: { model: 'gpt-5.1-realtime', apiKey: process.env.OPENAI_API_KEY, }, }) // Add tools to the voice provider voice.addTools({ getWeather: weatherTool, }) // Connect to the real-time service await voice.connect() ``` ## Paramètres **tools** (`ToolsInput`): Objet contenant les définitions des Tools que le modèle vocal peut appeler ## Valeur renvoyée Cette méthode ne renvoie aucune valeur. ## Remarques - Les Tools doivent respecter le format de Tool Mastra et comporter un nom, une description, un schéma d’entrée et une fonction d’exécution. - Cette méthode s’utilise principalement avec les fournisseurs Voice en temps réel qui prennent en charge l’appel de fonctions. - Si elle est appelée sur un fournisseur Voice qui ne prend pas en charge les Tools, elle consigne un avertissement et n’effectue aucune action. - Les Tools ajoutés avec cette méthode sont généralement combinés à ceux fournis par un Agent associé. - Pour de meilleurs résultats, ajoutez les Tools avant de démarrer une conversation, c’est-à-dire avant d’appeler `connect()`. - Le fournisseur Voice gère automatiquement l’appel des gestionnaires de Tools lorsque le modèle décide de les utiliser. - Selon l’implémentation du fournisseur, plusieurs appels à `addTools()` peuvent remplacer les Tools existants ou être fusionnés avec eux.