Configuration de l'agent

Cette page liste toutes les options que vous pouvez passer à client.audio.sessions.init(). Les options se répartissent en deux portées. Les options Agent définissent l'agent lui-même : ses modèles, sa voix, ses instructions, ses outils et la gestion des tours de parole. Vous pouvez les enregistrer en tant qu'agent enregistré. Les options Session ne s'appliquent qu'à la session que vous ouvrez, comme l'agent enregistré à partir duquel démarrer ou l'interface audio à utiliser.

Note

Les tableaux utilisent les noms Python. En TypeScript, les mêmes options sont en camelCase : api_key devient apiKey, server_url devient serverUrl, et turn.allow_interruptions devient turn.allowInterruptions.

Le client

Le client

client.audio.sessions.init() est une méthode du client Mistral polyvalent. Construisez le client une fois, puis démarrez autant de sessions que nécessaire à partir de celui-ci.

Mistral(
    api_key: str,
    server_url: str = "https://api.mistral.ai",
    timeout_ms: int = 60000,
)
ParamètreTypePar défautDescription
api_keystrObligatoireVotre clé API Mistral.
server_urlstr"https://api.mistral.ai"URL de base de l'API.
timeout_msint60000Délai d'expiration des requêtes qui créent et ferment les sessions.
Configuration directe ou enregistrée

Configuration directe ou enregistrée

Vous pouvez passer les options de l'agent à init() à chaque fois, ce qui convient aux essais rapides. Vous pouvez aussi les enregistrer une seule fois en tant qu'agent, puis démarrer chaque session avec agent_id. Quand vous définissez agent_id, la configuration enregistrée sert de base, et toute option d'agent que vous passez également à init() la remplace pour cette session uniquement. L'agent enregistré ne change pas. Les options de session s'appliquent toujours. Pour un exemple, consultez Créer un agent et démarrer une session.

i
Information

Dans le navigateur, vous n'appelez pas init() : c'est votre serveur qui crée la session avec client.audio.sessions.create(), qui accepte les mêmes options. Consultez le Guide du navigateur.

Options de init()

Options de init()

Options de l'agent

Options de l'agent

Ces options font partie de la configuration de l'agent et vous pouvez les enregistrer dans un agent.

OptionTypePar défautDescription
llmmappingmistral-small-latestModèle qui génère les réponses.
sttmappingModèle de reconnaissance vocale, avec en option language (code ISO 639-1 comme "fr"), context_bias (termes à privilégier), target_streaming_delay_ms (de 80 à 1200, 240 par défaut) et turn_detection (voir Détection de fin de tour). language, context_bias et turn_detection nécessitent un modèle Voxtral 3 realtime ; les autres modèles renvoient une erreur 422.
ttsmappingModèle de synthèse vocale et voix (voice_id).
instructionsstrNonePrompt système de l'agent.
toolsliste d'outilsNoneOutils que l'agent peut appeler. Voir Outils.
welcome_messagestrNoneMessage que l'agent prononce à la connexion de la session.
turnmappingallow_interruptions=TrueParamètres de gestion des tours de parole, dont la possibilité pour l'utilisateur d'interrompre l'agent.
Options de session

Options de session

Ces options ne s'appliquent qu'à la session que vous ouvrez.

OptionTypePar défautDescription
agent_idstrNoneDémarrez la session à partir d'un agent enregistré.
agent_versionintLa plus récenteFigez une version précise de agent_id.
audio_interfaceAudioInterfaceNoneEntrée et sortie audio. Omettez-la pour gérer vous-même l'audio, voir Audio personnalisé.
http_headersmapping de str vers strNoneEn-têtes supplémentaires pour la requête qui crée la session.
Détection de fin de tour

Détection de fin de tour

Définissez stt.turn_detection pour laisser un modèle Voxtral 3 realtime décider quand l'utilisateur a fini de parler. Sans ce paramètre, l'agent utilise la détection de fin de tour par défaut du modèle. Passez {} pour utiliser les valeurs par défaut du serveur, ou définissez les champs de votre choix parmi les suivants :

ChampPlagePar défaut côté serveurCe qu'il fait
start_thresholdde 0 à 10,5Détermine quand l'utilisateur commence ou reprend la parole. Augmentez-le si les débuts de tour sont détectés trop facilement, par exemple en cas de bruit de fond.
eager_end_thresholdde 0 à 10,5Détermine quand l'utilisateur a peut-être fini de parler. Diminuez-le si les fins de tour anticipées se déclenchent trop souvent.
end_thresholdde 0 à 10,33Détermine quand l'utilisateur a fini de parler. Diminuez-le pour couper moins souvent la parole aux utilisateurs, au prix d'une réponse plus tardive.
min_silence_ms0 ou plus500Pause minimale avant que le tour puisse se terminer. Augmentez-la pour éviter les fins de tour trop hâtives, au prix d'une réponse plus tardive.
end_timeout_ms0 ou plus3000Pause maximale avant que le tour ne se termine quoi qu'il arrive. Diminuez-la pour plafonner l'attente maximale.

Par exemple, pour que l'agent réponde après un silence plus court :

session = await client.audio.sessions.init(
    stt={
        "model": "voxtral-mini-transcribe-realtime-3",
        "turn_detection": {"min_silence_ms": 300},
    },
)

Pour connaître le rôle de chaque seuil et le préréglage Agressif, plus rapide, consultez Détection de tour.

Aller plus loin

Aller plus loin