Referencia de eventos de cliente para la API en tiempo real de Qwen-Audio.
Guía del usuario: Chat de audio en tiempo real (Qwen-Audio-Realtime). Para secuencias de interacción de eventos, consulte API de WebSocket.
session.update
Descripción: Después de establecer una conexión, envíe este evento para actualizar la configuración predeterminada de la sesión. Incluya solo los campos que want cambiar; los campos omitidos conservan sus valores actuales. Si algún parámetro no es válido, el servidor devuelve un error. Si todos los parámetros son válidos, el servidor aplica los cambios y devuelve la configuración completa.
Notaturn_detection solo puede modificarse antes de enviar el primer audio (estado IDLE).
type Tipo de evento. Valor fijo: session Configuración de la sesión. | Configuración de idioma (qwen-audio-3.1-realtime-plus)Después de conectarse a Function Calling: Registro de impresión de voz (voiceprint_audio_urls): |
input_audio_buffer.append
Descripción: Añade datos de audio al búfer de entrada. Envíe este evento continuamente a alta frecuencia, por ejemplo, un fragmento cada 20–40 ms. El servidor no envía confirmación para este evento.
type Tipo de evento. Valor fijo: audio Datos de audio codificados en Base64. | |
input_audio_buffer.commit
Descripción: Solo modo Push-to-talk. Confirma el audio almacenado en el búfer como un mensaje de usuario. Esto no activa automáticamente la inferencia. Envíe response.create para activar la inferencia manualmente.
Este evento se ignora en los modos server_vad y smart_turn.
type Tipo de evento. Valor fijo: | |
input_audio_buffer.clear
Descripción: Solo modo Push-to-talk. Borra el audio no confirmado del búfer. Este evento se ignora en los modos server_vad y smart_turn. El servidor responde con un evento input_audio_buffer.cleared.
type Tipo de evento. Valor fijo: | |
conversation.item.create
Descripción: Inserta un elemento de conversación en el contexto de conversación. Utilice este evento para inyectar contexto histórico o agregar contenido de texto, o para devolver resultados de Function Calling.
NotaSi item.id ya existe en la conversación, se devuelve un error y el elemento no se crea.
type Tipo de evento. Valor fijo: previous_item_id Especifica el elemento de conversación después del cual se inserta el nuevo elemento. Si no se proporciona, el elemento se añade al final de la conversación. item El elemento de conversación a crear. | Inyectar un mensaje de texto de usuario: Devolver un resultado de Function Calling: |
conversation.item.retrieve
Descripción: Recupera un elemento de conversación almacenado en el servidor. El contenido de tipo audio en la respuesta contiene solo la transcripción (transcript), no los datos de audio originales.
type Tipo de evento. Valor fijo: item_id ID del elemento de conversación a recuperar. El servidor devuelve el resultado en un evento | |
conversation.item.delete
Descripción: Elimina un elemento de conversación del contexto de conversación. El servidor confirma la eliminación con un evento conversation.item.deleted.
type Tipo de evento. Valor fijo: item_id ID del elemento de conversación a eliminar. | |
response.create
Descripción: Activa la inferencia del modelo. El comportamiento varía según el modo:
- Modo Push-to-talk: Debe llamarse manualmente. Confirme primero el audio almacenado en el búfer con
input_audio_buffer.commit, o devuelva un resultadofunction_call_outputantes de activarlo. No puede llamarse mientras se está generando una respuesta. - Modo server_vad: Normalmente activado automáticamente por el servidor. Los clientes también pueden llamarlo manualmente cuando no se está generando ninguna respuesta. No puede llamarse mientras se está generando una respuesta.
- Modo smart_turn: Puede llamarse mientras se espera el siguiente turno del usuario. No puede llamarse durante un turno activo (entre
input_audio_buffer.speech_startedyresponse.done).
El campo opcional response reemplaza los valores predeterminados de la sesión para la ronda de inferencia actual. En escenarios de Function Calling, después de que el cliente devuelve un function_call_output, este evento activa la segunda ronda de inferencia.
NotaEn los modos server_vad y smart_turn, las inferencias activadas manualmente aún pueden ser interrumpidas por nuevo habla.
type Tipo de evento. Valor fijo: response Reemplaza los valores predeterminados de la sesión para la ronda de inferencia actual. Si no se proporciona, se utiliza la configuración de sesión actual. Propiedades modalities Reemplaza las modalidades de salida para la ronda actual. Los valores válidos son los mismos que voice Reemplaza la voz de TTS para la ronda actual. | |
response.cancel
Descripción: Cancela la inferencia actual. Cualquier texto generado hasta el momento se guarda en la lista de elementos. Luego, el servidor devuelve un evento response.done con status=cancelled.
Se devuelve un error si no hay ninguna inferencia en curso.
type Tipo de evento. Valor fijo: | |