Tous les produits
Search
Centre de documentation

Alibaba Cloud Model Studio:Événements client

Dernière mise à jour :Oct 11, 2026

Événements client pour l'API Qwen-Omni-Realtime.

Voir Qwen-Omni-Realtime .

session.update

Une fois la connexion WebSocket établie, envoyez cet événement en premier pour modifier la configuration de session par défaut. Le serveur valide les paramètres à la réception de l'événement session.update. Si les paramètres sont invalides, le serveur renvoie une erreur. S'ils sont valides, il applique la configuration et retourne la configuration complète mise à jour.

typestring(required)

Type de l'événement. La valeur doit être session.update.

{
    "event_id": "event_ToPZqeobitzUJnt3QqtWg",
    "type": "session.update",
    "session": {
        "modalities": [
            "text",
            "audio"
        ],
        "voice": "Chelsie",
        "input_audio_format": "pcm",
        "output_audio_format": "pcm",
        "instructions": "You are an AI customer service specialist for a five-star hotel. Accurately and friendly answer customer inquiries about room types, facilities, prices, and booking policies. Always respond with a professional and helpful attitude. Do not provide unverified information or information outside the scope of hotel services.",
        "turn_detection": {
            "type": "server_vad",
            "threshold": 0.5,
            "silence_duration_ms": 800
        },
        "enable_search": true,
        "search_options": {
            "enable_source": true
        },
        "tools": [
            {
                "type": "function",
                "function": {
                    "name": "get_current_weather",
                    "description": "Useful for querying the weather in a specific city.",
                    "parameters": {
                        "type": "object",
                        "properties": {
                            "location": {
                                "type": "string",
                                "description": "The city or district, such as Beijing, Hangzhou, or Yuhang District."
                            }
                        },
                        "required": ["location"]
                    }
                }
            }
        ],
        "seed": 1314,
        "max_tokens": 16384,
        "repetition_penalty": 1.05,
        "presence_penalty": 0.0,
        "top_k": 50,
        "top_p": 1.0,
        "temperature": 0.9
    }
}

sessionobject(optional)

Configuration de la session.

Properties

modalitiesarray(optional)

Modalités de sortie du modèle. Valeurs autorisées :

  • ["text"]

    Texte uniquement.

  • ["text","audio"] (default)

    Texte et audio.

voicestring(optional)

Voix utilisée pour la sortie audio du modèle. Pour les voix prises en charge, consultez la Liste des voix.

Voix par défaut :

  • Série Qwen3.5-Omni-Realtime : Tina
  • qwen3-omni-flash-realtime-2025-09-15 : Cherry

input_audio_formatstring(optional)

Format de l'audio d'entrée utilisateur. Seul le format pcm est actuellement pris en charge. L'audio d'entrée doit être un flux audio PCM avec une fréquence d'échantillonnage de 16 kHz.

output_audio_formatstring(optional)

Format de l'audio de sortie du modèle. Seul le format pcm est actuellement pris en charge. L'audio de sortie est un flux audio PCM avec une fréquence d'échantillonnage de 24 kHz.

audioobject(facultatif)

Configuration de l'audio d'entrée et de sortie. Les champs omis conservent leurs valeurs par défaut existantes.

Les paramètres imbriqués de format et de fréquence d'échantillonnage ci-dessous s'appliquent uniquement à qwen3.5-omni-plus-realtime et qwen3.5-omni-flash-realtime.

audio.inputobject(facultatif)

Configuration de l'audio d'entrée utilisateur.

audio.input.formatobject(facultatif)

Format et fréquence d'échantillonnage de l'audio d'entrée. Configurez ces paramètres lorsque la session est à l'état IDLE, avant d'envoyer le premier segment audio. Ils ne peuvent plus être modifiés une fois l'entrée audio commencée.

audio.input.format.typestring(facultatif)

Format de l'audio d'entrée : pcm (par défaut, PCM brut mono 16 bits) ou wav (PCM mono 16 bits dans un conteneur WAV).

audio.input.format.sample_rateinteger(facultatif)

Fréquence d'échantillonnage de l'audio d'entrée en Hz : 8000, 16000 (par défaut), 24000 ou 48000.

audio.outputobject(facultatif)

Configuration de l'audio de sortie du modèle.

audio.output.formatobject(facultatif)

Format et fréquence d'échantillonnage de l'audio de sortie. Configurez ces paramètres au début de la session, avant le début de l'interaction audio.

audio.output.format.typestring(facultatif)

Format de l'audio de sortie : pcm (par défaut, PCM brut mono 16 bits) ou wav (PCM mono 16 bits dans un conteneur WAV).

audio.output.format.sample_rateinteger(facultatif)

Fréquence d'échantillonnage de l'audio de sortie en Hz : 8000, 16000, 24000 (par défaut) ou 48000.

smooth_outputboolean | null(optional)

S'applique uniquement au modèle qwen3-omni-flash-realtime-2025-09-15.

Active ou non un style de réponse conversationnel. Valeurs autorisées :

  • true (default) : Réponses conversationnelles.

  • false : Réponses formelles et écrites.

    Les contenus difficiles à lire à haute voix peuvent ne pas donner de bons résultats.

  • null : Le modèle choisit automatiquement entre le style conversationnel et formel.

instructionsstring(optional)

Message système définissant le rôle ou l'objectif du modèle.

turn_detectionobject(optional)

Configuration de la détection d'activité vocale (VAD). Définissez cette valeur sur null pour désactiver le VAD et déclencher manuellement les réponses du modèle. En l'absence de cette configuration, le VAD est activé avec les paramètres par défaut.

Properties

typestring(optional)

Type de VAD. Valeurs autorisées :

  • server_vad (default) : Détecte la fin de la parole en fonction des caractéristiques acoustiques.
  • semantic_vad : Détecte la fin de la parole en fonction de la validité sémantique, en filtrant les acquiescements et le bruit de fond. Pris en charge uniquement par la série Qwen3.5-Omni-Realtime.

thresholdfloat(optional)

Sensibilité du VAD. Une valeur plus faible rend le VAD plus sensible, augmentant la probabilité de détecter des sons faibles comme de la parole, y compris le bruit de fond. Une valeur plus élevée nécessite une parole plus claire et plus forte pour déclencher la détection.

Plage valide : [-1.0, 1.0]. Valeur par défaut : 0,5.

silence_duration_msinteger(optional)

Durée minimale de silence après la fin de la parole, en millisecondes. Au-delà de ce seuil, le modèle génère une réponse. Une valeur plus faible accélère les réponses mais peut provoquer des déclenchements intempestifs lors de brèves pauses.

Valeur par défaut : 800. Plage valide : [200, 6000].

idle_timeout_msinteger(optional)

S'applique uniquement aux modèles qwen3.5-omni-plus-realtime et qwen3.5-omni-flash-realtime en mode server_vad.

Délai d'inactivité en millisecondes. Une fois la lecture audio terminée par le serveur, si l'utilisateur reste silencieux au-delà de cette durée (aucun événement speech.started n'est déclenché), le modèle génère proactivement une réponse pour inviter l'utilisateur à poursuivre la conversation en fonction du contexte actuel. Ce délai commence après la fin de la lecture audio de la dernière réponse du modèle.

Plage valide : [5000, 30000].

enable_searchboolean(optional)

S'applique uniquement à la série Qwen3.5-Omni-Realtime.

Active ou non la recherche web. Valeur par défaut : false. Lorsque cette option est activée, le modèle décide de manière autonome d'effectuer une recherche pour répondre aux questions en temps réel.

Les outils (tools) et enable_search sont incompatibles. Ne les activez pas simultanément.

search_optionsobject(optional)

Configuration de la recherche web. Prend effet uniquement lorsque enable_search est activé.

Properties

enable_sourceboolean(optional)

Indique s'il faut retourner la liste des sources des résultats de recherche. Définissez cette valeur sur true pour activer l'option.

toolsarray(optional)

Liste de définitions d'outils. Lorsqu'elle est fournie, le modèle décide d'appeler ou non un outil en fonction de l'entrée utilisateur.

Properties

typestring (required)

La valeur doit être function.

function.namestring (required)

Nom de la fonction de l'outil, correspondant au nom réel de la fonction, tel que get_current_weather ou get_current_time.

function.descriptionstring (optional)

Description de la fonction de l'outil. Le modèle l'utilise pour décider s'il doit l'appeler.

function.parametersobject (optional)

Description des paramètres d'entrée de l'outil. Le modèle s'en sert pour extraire les valeurs des paramètres à partir de l'entrée utilisateur. Omettez ce champ si l'outil ne prend aucune entrée.

Properties

typestring (required)

La valeur doit être object.

propertiesobject (optional)

Décrit chaque paramètre d'entrée par son nom, son type de données et sa description. La clé correspond au nom du paramètre ; la valeur est un objet contenant type et description.

requiredarray (optional)

Liste les paramètres d'entrée obligatoires.

temperaturefloat(optional)

Température d'échantillonnage contrôlant la diversité des sorties. Une valeur élevée produit un contenu plus varié, tandis qu'une valeur faible génère des sorties plus déterministes.

Plage valide : [0, 2).

Puisque temperature et top_p contrôlent tous deux la diversité, n'en configurez qu'un seul.

Valeurs par défaut :

  • Série Qwen3.5-Omni-Realtime : 0,7
  • qwen3-omni-flash-realtime-2025-09-15 : 0,9

top_pfloat(optional)

Seuil de probabilité pour l'échantillonnage nucléaire, contrôlant la diversité des sorties. Une valeur élevée produit un contenu plus varié, tandis qu'une valeur faible génère des sorties plus déterministes.

Plage valide : (0, 1.0].

Puisque temperature et top_p contrôlent tous deux la diversité, n'en configurez qu'un seul.

Valeurs par défaut :

  • Série Qwen3.5-Omni-Realtime : 0,8
  • qwen3-omni-flash-realtime-2025-09-15 : 1,0

top_kinteger(optional)

Taille de l'ensemble de candidats pour l'échantillonnage. Par exemple, une valeur de 50 limite chaque étape de génération aux 50 tokens ayant obtenu le meilleur score. Une valeur plus grande augmente l'aléatoire, tandis qu'une valeur plus petite accroît le déterminisme. Définissez cette valeur sur null ou sur une valeur supérieure à 100 pour désactiver top_k ; dans ce cas, seul top_p s'applique.

Valeur minimale : 0.

Valeurs par défaut :

  • Série Qwen3.5-Omni-Realtime : 20
  • qwen3-omni-flash-realtime-2025-09-15 : 50

max_tokensinteger(optional)

Nombre maximal de tokens à retourner.

Le paramètre max_tokens n'affecte pas le processus de génération du modèle. Si la sortie générée dépasse max_tokens, la réponse est tronquée.

Les valeurs par défaut et maximale correspondent à la longueur de sortie maximale du modèle. Consultez la Liste des modèles.

Utilisez max_tokens pour limiter la longueur de sortie dans le cadre de tâches telles que la synthèse, l'extraction de mots-clés, le contrôle des coûts ou la réduction de la latence.

repetition_penaltyfloat(optional)

Contrôle la répétition dans la sortie du modèle. Une valeur plus élevée réduit les répétitions ; 1,0 signifie aucune pénalité. La valeur doit être supérieure à 0.

Valeurs par défaut :

  • Série Qwen3.5-Omni-Realtime : 1,0
  • qwen3-omni-flash-realtime-2025-09-15 : 1,05

presence_penalty float(optional)

Contrôle la répétition du contenu dans la sortie du modèle.

Plage valide : [-2.0, 2.0]. Une valeur positive réduit les répétitions, tandis qu'une valeur négative les augmente.

Valeurs par défaut :

  • Série Qwen3.5-Omni-Realtime : 1,5
  • qwen3-omni-flash-realtime-2025-09-15 : 0,0

Cas d'utilisation :

Des valeurs plus élevées conviennent aux tâches créatives comme la narration ou le brainstorming, où la diversité et l'intérêt de la sortie priment.

Des valeurs plus faibles sont adaptées aux contenus techniques ou formels nécessitant cohérence et terminologie précise.

seedinteger(optional)

Rend la génération plus déterministe. Fournissez la même valeur de seed avec des paramètres inchangés pour obtenir des résultats cohérents entre plusieurs exécutions.

Plage valide : 0 à 231−1. Valeur par défaut : -1.

response.create

L'événement response.create demande au serveur de générer une réponse du modèle. En mode VAD, le serveur génère les réponses automatiquement ; cet événement n'est donc pas nécessaire. Dans les scénarios d'appel d'outil, envoyez cet événement après avoir retourné le résultat de l'outil via conversation.item.create afin de déclencher la réponse finale du modèle.

Le serveur répond par un événement response.created, suivi d'un ou plusieurs événements d'élément et de contenu — tels que conversation.item.created et response.content_part.added — et enfin un événement response.done.

typestring(required)

Type de l'événement. La valeur doit être response.create.

{
    "type": "response.create",
    "event_id": "event_1718624400000"
}

response.cancel

Envoyez cet événement pour annuler une réponse en cours. Si aucune réponse n'est en cours de génération, le serveur renvoie une erreur.

typestring(required)

Type de l'événement. La valeur doit être response.cancel.

{
    "event_id": "event_B4o9RHSTWobB5OQdEHLTo",
    "type": "response.cancel"
}

input_audio_buffer.append

Ajoute des octets audio au tampon audio d'entrée.

typestring(required)

Type de l'événement. La valeur doit être input_audio_buffer.append.

{
    "event_id": "event_B4o9RHSTWobB5OQdEHLTo",
    "type": "input_audio_buffer.append",
    "audio": "UklGR..."
}

audiostring(required)

Données audio encodées en Base64.

input_audio_buffer.commit

Valide le tampon audio d'entrée, créant ainsi un nouvel élément de message utilisateur dans la conversation. Si le tampon est vide, le serveur renvoie une erreur.

  • Mode VAD : Le client n'a pas besoin d'envoyer cet événement. Le serveur valide le tampon audio automatiquement.
  • Mode manuel : Le client doit valider le tampon audio pour créer un élément de message utilisateur.

La validation du tampon ne déclenche pas de réponse du modèle. Le serveur répond par un événement input_audio_buffer.committed.

Si le client a envoyé un événement input_image_buffer.append , l'événement input_audio_buffer.commit valide également le tampon d'images.

typestring(required)

Type de l'événement. La valeur doit être input_audio_buffer.commit.

{
    "event_id": "event_B4o9RHSTWobB5OQdEHLTo",
    "type": "input_audio_buffer.commit"
}

input_audio_buffer.clear

Efface les octets audio du tampon. Le serveur répond par un événement input_audio_buffer.cleared.

typestring(required)

Type de l'événement. La valeur doit être input_audio_buffer.clear.

{
    "event_id": "event_xxx",
    "type": "input_audio_buffer.clear"
}

input_image_buffer.append

Ajoute des données d'image au tampon d'images. Les images peuvent provenir de fichiers locaux ou d'un flux vidéo en direct.

Les limites suivantes s'appliquent aux entrées d'images :

  • Format : JPG ou JPEG. Résolution recommandée : 480p ou 720p ; maximum : 1080p.
  • Une image unique après encodage Base64 ne doit pas dépasser 256 Ko. Nous recommandons de conserver la taille de l'image brute sous 190 Ko avant l'encodage.
  • Les données d'image doivent être encodées en Base64.
  • Fréquence d'envoi recommandée : 1 image par seconde.
  • Envoyez au moins un événement input_audio_buffer.append avant d'envoyer un événement input_image_buffer.append.

Le tampon d'images est validé conjointement avec le tampon audio via l'événement input_audio_buffer.commit .

typestring(required)

Type de l'événement. La valeur doit être input_image_buffer.append.

{
    "event_id": "event_xxx",
    "type": "input_image_buffer.append",
    "image": "xxx"
}

imagestring(required)

Données d'image encodées en Base64.

conversation.item.create

Envoyez cet événement pour retourner au serveur le résultat d'exécution d'une fonction d'outil. Après le déclenchement d'un appel d'outil par le modèle, exécutez l'outil localement, puis renvoyez le résultat à l'aide de cet événement. Faites suivre cet envoi d'un événement response.create pour déclencher la réponse finale du modèle.

RemarqueSeuls les éléments de type function_call_output sont actuellement pris en charge.

typestring(required)

Type de l'événement. La valeur doit être conversation.item.create.

{
    "event_id": "event_55099cddb51b4f208cb95d1a994eef80",
    "type": "conversation.item.create",
    "item": {
        "id": "item_2a80d7682b4e473c9c2154da135041e9",
        "type": "function_call_output",
        "call_id": "call_62c24725afdb4c2680ac54",
        "output": "The weather in Beijing today is changing from haze to clear, with a temperature of 4/-4°C and a light breeze."
    }
}

itemobject(required)

Élément de conversation à créer. Ne peut pas être vide.

Properties

idstring (optional)

ID de l'élément de conversation. Spécifiez-en un pour l'aligner sur l'état local ; sinon, le serveur en génère un.

typestring (required)

Type de l'élément de conversation. Actuellement, seul function_call_output est pris en charge.

call_idstring (required)

Le call_id retourné dans l'événement response.function_call_arguments.done.

outputstring (required)

Résultat d'exécution de la fonction de l'outil.