Biais contextuels et vocabulaire

Les biais contextuels orientent la transcription vers les noms, les termes et les acronymes que vous attendez, pour qu'ils apparaissent orthographiés comme vous les écrivez. Vous les envoyez sous forme de liste d'entrées, chacune étant une expression clé ou une description de l'enregistrement, aussi bien en transcription de fichiers qu'en temps réel.

i
Information

Pour comprendre pourquoi les noms sont mal transcrits et quand chaque type de contexte convient, consultez Vocabulaire personnalisé.

Biais avec des expressions clés

Biais avec des expressions clés

Pour corriger des termes précis, envoyez chacun d'eux comme entrée de context_bias. Une entrée peut contenir plusieurs mots, par exemple le nom d'une entreprise.

import os

from mistralai.client import Mistral

client = Mistral(api_key=os.environ["MISTRAL_API_KEY"])

def transcribe(context_bias=None):
    with open("customer_call.wav", "rb") as audio:
        return client.audio.transcriptions.complete(
            model="voxtral-mini-transcribe-3-0",
            file={"file_name": "customer_call.wav", "content": audio},
            context_bias=context_bias,
        ).text

print("Without bias:", transcribe())
print("With bias:   ", transcribe(["Northwind", "Quillara", "Alder Creek Design", "Rotterdam"]))

L'exemple transcrit le même appel deux fois, une fois sans contexte, une fois avec. Le nom du produit et celui de l'entreprise changent :

Without bias: Thanks for calling Northwind Support. [...] I ordered two Quilliera headsets last week. [...] I also need an invoice for my company, Older Creek Design. [...]
With bias:    Thanks for calling Northwind Support. [...] I ordered two Quillara headsets last week, [...] I also need an invoice for my company, Alder Creek Design. [...]
Décrire l'enregistrement

Décrire l'enregistrement

Une entrée peut aussi être une phrase ou un paragraphe qui décrit l'enregistrement : son sujet, qui parle et les noms qui reviennent. Envoyez-la de la même façon qu'une expression clé.

curl https://api.mistral.ai/v1/audio/transcriptions \
  -H "Authorization: Bearer $MISTRAL_API_KEY" \
  -F model=voxtral-mini-transcribe-3-0 \
  -F file=@customer_call.wav \
  -F "context_bias=Support call for Northwind about an order of Quillara headsets shipped from the Rotterdam warehouse and invoiced to Alder Creek Design."
Astuce

Listez chaque terme qui doit être correctement transcrit comme sa propre expression clé.

Utilisation en sessions en temps réel

Utilisation en sessions en temps réel

Dans une session en temps réel, envoyez context_bias sous forme de tableau JSON de chaînes de caractères dans session.update, avant le premier fragment audio.

{
  "type": "session.update",
  "session": {
    "audio_format": { "encoding": "pcm_s16le", "sample_rate": 24000 },
    "context_bias": ["Northwind", "Quillara", "Alder Creek Design", "Rotterdam"]
  }
}

Le contexte s'applique à toute la session. Après le premier fragment audio, la session rejette toute modification de ses champs avec un événement error.

i
Information
Format des entrées

Format des entrées

Les deux modes acceptent les mêmes entrées, envoyées de façon différente :

Transcription de fichiersSession en temps réel
Comment l'envoyerRépétez le champ de formulaire context_bias une fois par entrée. En Python, passez une liste de chaînes de caractères.Définissez context_bias comme un tableau de chaînes de caractères dans session.update.
Une entréeUn terme, un nom en plusieurs mots ou une description de l'enregistrementIdentique
CaractèresLes espaces, les virgules et les autres signes de ponctuation sont acceptésIdentique
Par défautAucun contexteAucun contexte (un tableau vide)
PortéeLa requêteToute la session, définie avant le premier fragment audio
Modèlesvoxtral-mini-transcribe-3-0, voxtral-small-transcribe-3-0voxtral-mini-transcribe-realtime-3-0
Limites et erreurs

Limites et erreurs

Le contexte n'a pas de budget propre : ses entrées s'ajoutent, avec l'audio, à la fenêtre de contexte du modèle. Un enregistrement long laisse moins de place au contexte ; limitez donc la liste aux termes et aux descriptions qui comptent.

Quand l'audio et le contexte dépassent ensemble la fenêtre, la requête échoue et l'API ne raccourcit pas votre liste :

SituationModeCe que vous obtenez
L'audio et le contexte dépassent la fenêtre de contexteTranscription de fichiers
session.update envoyé après le premier fragment audioSession en temps réelUn événement error : Session fields cannot be changed after audio has started.
Aller plus loin

Aller plus loin