Requisitos previos
Requiere DashScope Python SDK 2.0.1 o posterior.
Introducción
Parámetros de solicitud
Establezca estos parámetros en el método connect de client.audio.realtime:
Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
model | str | Sí | Nombre del modelo (consulte Modelos compatibles). |
ws_url | str | No | Endpoint de la sesión. Si se omite, se deriva automáticamente de los parámetros de construcción |
update_session de la sesión (los parámetros con nombre se pasan directamente y el resto se transfieren al objeto session del evento session.update):
Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
voice | str | Sí | La voz para la síntesis de voz. Para obtener más información, consulte Lista de voces de Qwen-TTS. |
language_type | str | No | Especifica el idioma del audio sintetizado. El valor predeterminado es
|
mode | str | No | El modo de interacción. Valores válidos:
|
response_format | str | No | El formato de la salida de audio del modelo. Formatos admitidos:
|
sample_rate | int | No | La frecuencia de muestreo de la salida de audio del modelo, en Hz. Frecuencias de muestreo admitidas:
|
speech_rate | float | No | La velocidad de habla del audio. Un valor de 1.0 es la velocidad normal. Un valor menor que 1.0 es más lento y un valor mayor que 1.0 es más rápido. Valor predeterminado: 1.0. Rango válido: [0.5, 2.0]. |
volume | int | No | El volumen del audio. Rango válido: [0, 100]. |
pitch_rate | float | No | El tono del audio sintetizado. Valor predeterminado: 1.0. Rango válido: [0.5, 2.0]. |
bit_rate | int | No | Especifica la tasa de bits del audio en kbps. Una tasa de bits más alta resulta en una mejor calidad de audio y un tamaño de archivo mayor. Este parámetro está disponible solo cuando el formato de audio ( Valor predeterminado: 128. Rango válido: [6, 510]. |
Interfaces clave
Sesión (RealtimeSession)
Una sesión de síntesis de voz en tiempo real se crea mediante client.audio.realtime.connect(model=...). La conexión se establece automáticamente al entrar en el contexto with (también puede llamar manualmente al método connect() de la sesión).
| Firma del método | Eventos de respuesta del servidor (entregados mediante la iteración de events()) | Descripción |
|---|---|---|
session.createdSesión creadasession.updated Configuración de sesión actualizada | Conectarse al servidor. Se llama automáticamente al entrar en el contexto with. | |
session.updatedConfiguración de sesión actualizada | Actualizar las configuraciones de sesión predeterminadas. Para detalles de los parámetros, consulte Parámetros de solicitud.Después de conectarse, el servidor devuelve configuraciones de entrada y salida predeterminadas. Llame a este método inmediatamente después de conectarse para actualizar estos valores predeterminados.El servidor valida los parámetros cuando recibe un evento session.update. Si la validación falla, devuelve un error; de lo contrario, actualiza la configuración de la sesión. | |
| None | Enviar un evento sin procesar. La entrada de texto se realiza mediante la familia de eventos input_text_buffer: agregar un fragmento de texto al búfer de entrada de la nube ({"type": "input_text_buffer.append", "text": ...}). El búfer es un almacenamiento temporal para texto que se escribe y se envía más tarde.
| |
input_text_buffer.clearedBorrar texto recibido por el servidor | Enviar el evento {"type": "input_text_buffer.clear"} para eliminar todo el texto del búfer de la nube. | |
input_text_buffer.committedEnviar texto y activar la síntesis de vozresponse.output_item.added Nuevo contenido de salida agregadoresponse.content_part.added Nuevo contenido agregado al mensaje del asistenteresponse.audio.delta Audio incremental generado por el modeloresponse.audio.done Generación de audio completadaresponse.content_part.done Transmisión de contenido de audio para mensaje del asistente completadaresponse.output_item.done Transmisión de elemento de salida completo para mensaje del asistente completadaresponse.done Respuesta completada | Enviar el evento {"type": "input_text_buffer.commit"} para enviar todo el texto agregado previamente al búfer de la nube y sintetizarlo inmediatamente. Devuelve un error si el búfer está vacío.
| |
session.finishedRespuesta completada | Enviar el evento session.finish para finalizar la tarea. Después, siga consumiendo events() hasta el evento session.finished. | |
| None | Cerrar la conexión. Se llama automáticamente al salir del contexto with. | |
| None | Obtener el ID de sesión para la tarea actual. | |
| None | Obtener el ID de respuesta de la respuesta más reciente. | |
| None | Obtener el retraso antes de que llegue el primer paquete de audio. |
Iteración de eventos (events())
El servidor devuelve los eventos y datos de respuesta en forma de eventos. Itere el events() de la sesión en el hilo receptor para gestionar los eventos del servidor; la iteración finaliza después del evento session.finished. Los eventos error se lanzan como excepciones DashScopeError, que puede capturar con try/except.
| Método | Parámetros | Valor de retorno | Descripción |
|---|---|---|---|
event: Evento de respuesta del servidor (dict). | Iterador | Incluye respuestas a llamadas de API, texto generado por el modelo y audio. La iteración finaliza después del evento session.finished. Para más información, consulte Eventos del servidor. | |
event: Evento de respuesta del servidor (dict). | Evento o None | Leer un evento del servidor. Devuelve None tras un cierre normal. |