Qwen-ASR-Realtime recibe flujos de audio y transcribe el habla en tiempo real a través de WebSocket. El servicio admite dos modos de interacción: modo VAD y modo manual.
Requests rate limit exceeded, please try again later. Reduzca su tasa de solicitudes o concurrencia y vuelva a intentarlo. Para conocer los límites de velocidad de cada modelo, consulte Limitación de velocidad.
Endpoint de servicio
Utilice la siguiente URL de WebSocket. El parámetro de consulta model especifica el modelo. Reemplace <model_name> con el nombre del modelo:
- Singapore
- China (Beijing)
wss://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api-ws/v1/realtime?model=<model_name>Reemplace {WorkspaceId} con su ID de espacio de trabajo real.Encabezados de solicitud
Incluya los siguientes campos en los encabezados de la solicitud:
Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
Authorization | string | Sí | Token de autenticación en el formato |
user-agent | string | No | Identificador de cliente que ayuda al servidor a rastrear el origen de las solicitudes. |
X-DashScope-WorkSpace | string | No | El ID de espacio de trabajo de Alibaba Cloud Model Studio. |
X-DashScope-DataInspection | string | No | Indica si se debe habilitar la inspección de datos. Omita este encabezado a menos que se requiera la inspección de datos; si es así, establezca el valor en |
Flujos de interacción
Para obtener detalles sobre los eventos de cliente y servidor, consulte Eventos de cliente para Qwen-ASR-Realtime y Eventos de servidor.
Qwen-ASR-Realtime admite dos modos de interacción:
- Modo VAD (predeterminado): El servidor utiliza la detección de actividad de voz (VAD) para detectar automáticamente el inicio y el final de cada expresión. Utilice este modo para conversaciones en tiempo real, transcripción de reuniones y escenarios similares.
- Modo manual: El cliente controla los límites de las expresiones. Utilice este modo cuando el cliente pueda determinar explícitamente dichos límites, como al enviar un mensaje de voz en una aplicación de mensajería.
Modo VAD (predeterminado)
El servidor detecta automáticamente el inicio y el final de cada expresión. Envíe el flujo de audio de forma continua; el servidor devuelve la transcripción final de cada expresión una vez que detecta el final. Utilice este modo para conversaciones en tiempo real, transcripción de reuniones y escenarios similares.
Para habilitar: Configure el parámetro session.turn_detection en el evento session.update del cliente.
- El cliente envía eventos input_audio_buffer.append para agregar audio al búfer.
- El servidor devuelve un evento input_audio_buffer.speech_started cuando se detecta voz. Nota: Si el cliente envía session.finish para finalizar la sesión antes de que llegue este evento, el servidor devuelve inmediatamente un evento session.finished. A continuación, el cliente debe cerrar la conexión.
- El cliente continúa enviando eventos input_audio_buffer.append para enviar audio.
- Después de enviar todo el audio, el cliente envía un evento session.finish para finalizar la sesión.
- El servidor devuelve un evento input_audio_buffer.speech_stopped cuando detecta el final del habla.
- El servidor devuelve un evento input_audio_buffer.committed.
- El servidor devuelve un evento conversation.item.created.
- El servidor devuelve un evento conversation.item.input_audio_transcription.text que contiene resultados de transcripción parciales.
- El servidor devuelve un evento conversation.item.input_audio_transcription.completed que contiene el resultado final de la transcripción.
- El servidor devuelve un evento session.finished para indicar que el reconocimiento ha finalizado. A continuación, el cliente debe cerrar la conexión.
Modo manual
El cliente controla los límites de las expresiones. Después de enviar el audio correspondiente a una expresión completa, el cliente envía un evento input_audio_buffer.commit para notificar al servidor. Utilice este modo cuando el cliente pueda determinar explícitamente dichos límites, como al enviar un mensaje de voz en una aplicación de mensajería.
Para habilitar: Establezca session.turn_detection en null en el evento session.update del cliente.
- El cliente envía eventos input_audio_buffer.append para agregar audio al búfer.
- El cliente envía un evento input_audio_buffer.commit para confirmar el búfer de audio de entrada. La confirmación crea un nuevo elemento de mensaje de usuario en la conversación.
- El cliente envía un evento session.finish para finalizar la sesión.
- El servidor devuelve un evento input_audio_buffer.committed.
- El servidor devuelve un evento conversation.item.input_audio_transcription.text que contiene resultados de transcripción parciales.
- El servidor devuelve un evento conversation.item.input_audio_transcription.completed que contiene el resultado final de la transcripción.
- El servidor devuelve un evento session.finished para indicar que el reconocimiento ha finalizado. A continuación, el cliente debe cerrar la conexión.