Guide de démarrage : construire un agent vocal

Ce guide de démarrage crée un agent vocal complet. L’API Agents vocaux gère l’ensemble du pipeline : elle capte votre voix, la transcrit, génère une réponse avec un modèle et prononce cette réponse.

Pour cela, il vous faut une clé API Mistral, un microphone, des haut-parleurs, et Python ou Node.js. Pour exécuter plutôt un agent dans une page web, suivez le guide navigateur.

Installer les outils audio et le SDK

Installer les outils audio et le SDK

Le SDK Python utilise PyAudio. Comme PyAudio s’appuie sur PortAudio, installez PortAudio. Ajoutez l’extra voice-agents à l’installation du SDK : il installe la pile audio (PyAudio, LiveKit, NumPy) dont le SDK a besoin pour utiliser votre microphone et votre haut-parleur.

Pour JavaScript ou TypeScript, installez SoX et FFmpeg.

# macOS
brew install portaudio
# Linux
sudo apt install libportaudio2 libportaudiocpp0 portaudio19-dev libasound-dev libsndfile1-dev -y

pip install "mistralai[voice-agents]"
Définir votre clé API

Définir votre clé API

Stockez votre clé API dans la variable d’environnement MISTRAL_API_KEY. Pour en créer une, consultez Guide de démarrage : créer votre première clé API.

export MISTRAL_API_KEY="your-api-key"
Discuter avec votre agent

Discuter avec votre agent

Enregistrez ce code dans un fichier, puis exécutez-le avec Python ou Node.js.

import asyncio
import os

from mistralai.client import Mistral
from mistralai.extra.voice_agents import DefaultAudioInterface

MISTRAL_API_KEY = os.environ["MISTRAL_API_KEY"]

async def main():
    async with Mistral(api_key=MISTRAL_API_KEY) as client:
        session = await client.audio.sessions.init(
            audio_interface=DefaultAudioInterface(),
            instructions="Please respond to me in the most dramatic way possible."
        )

        def on_transcript(event):
            print(f"{event.role}: {event.content}")

        session.on("transcript", on_transcript)

        async with session:
            await session.wait()

asyncio.run(main())

Vous devriez voir

Vous devriez voir

Parlez : vos paroles s’affichent à l’écran. Quand vous faites une pause, l’agent répond. Vos paroles sont précédées de « user: » et celles de l’agent de « assistant: ».

Appuyez sur Ctrl+C pour arrêter.

Aller plus loin

Aller plus loin

Cet exemple n’utilise que deux paramètres : "audio_interface" / audioInterface et "instructions". Il en existe bien d’autres. Par exemple, pour changer la voix de l’agent, utilisez le paramètre "tts" :

tts={"voice_id": "fr_marie_neutral"}