La API de Qwen no tiene estado. Para implementar conversaciones de múltiples turnos, pase el historial de conversación en cada solicitud. Utilice truncamiento, resumen o recuperación para gestionar el contexto y reducir el consumo de tokens.
Este tema cubre las interfaces de Chat Completion compatible con OpenAI y DashScope. Para una alternativa más sencilla, consulte Respuestas compatibles con OpenAI.
Funcionamiento
Para implementar conversaciones de múltiples turnos, mantenga un arreglo messages. Después de cada ronda, añada la pregunta del usuario y la respuesta del modelo, y luego utilice el arreglo actualizado para la siguiente solicitud.
El siguiente ejemplo muestra cómo cambia el estado del arreglo messages durante una conversación de múltiples turnos:
-
Primera ronda
Agregue la pregunta del usuario al arreglo
messages.
-
Segunda ronda
Agregue la respuesta del modelo y la última pregunta del usuario al arreglo
messages.
Introducción
- Compatible con OpenAI
- DashScope
Python
Para modelos multimodales
Los modelos multimodales admiten imágenes y audio en las conversaciones. La implementación difiere de los modelos de texto de la siguiente manera:
- Construcción de mensajes de usuario: Los mensajes de usuario para modelos multimodales pueden contener información multimodal, como imágenes y audio, además de texto.
- Interfaz del SDK de DashScope: Cuando utilice el SDK de Python de DashScope, llame a la interfaz
MultiModalConversation. Cuando utilice el SDK de Java de DashScope, llame a la claseMultiModalConversation.
Para modelos multimodales, consulte: Comprensión de imágenes y videos y Kimi. Para Qwen-Omni, consulte No en tiempo real (Qwen-Omni). Qwen-VL-OCR y Qwen3-Omni-Captioner están diseñados para tareas específicas de un solo turno y no admiten conversaciones de múltiples turnos.
- Compatible con OpenAI
- DashScope
Python
Para modelos de pensamiento
Los modelos de pensamiento devuelven reasoning_content (proceso de pensamiento) y content (respuesta). Al actualizar los mensajes, conserve solo content e ignore reasoning_content.
Para obtener más información sobre los modelos de pensamiento, consulte Pensamiento profundo y Comprensión de imágenes y videos.
Para obtener más información sobre la implementación de conversaciones de múltiples turnos con Qwen3-Omni-Flash (modo de pensamiento), consulte omni-modal.
- Compatible con OpenAI
- DashScope
- Python
- Node.js
- HTTP
Código de ejemplo
Puesta en marcha
Las conversaciones de múltiples turnos pueden consumir muchos tokens y exceder la longitud de contexto del modelo, lo que provoca errores. Utilice estas estrategias para gestionar el contexto y controlar los costos.
1. Gestión de contexto
El arreglo messages crece con cada ronda y puede exceder el límite de tokens del modelo. Utilice estos métodos para gestionar la longitud del contexto:
1.1. Truncamiento de contexto
Conserve solo las N rondas más recientes cuando el historial sea demasiado extenso. Esto es sencillo de implementar, pero se pierde información de conversaciones anteriores.
1.2. Resumen continuo
Resuma el contexto a medida que avanza la conversación para comprimir el historial y controlar la longitud sin perder información esencial:
a. Cuando el historial alcance el 70% de la longitud máxima de contexto, extraiga una parte anterior (como la primera mitad) y realice una llamada de API por separado para generar un "resumen de memoria".
b. En la siguiente solicitud, reemplace el historial extenso con el "resumen de memoria" y añada las rondas recientes.
1.3. Recuperación vectorizada
Los resúmenes continuos pueden perder cierta información. Para permitir que el modelo recuerde información relevante de historiales de conversación extensos, utilice la recuperación bajo demanda en lugar del paso lineal de contexto:
a. Después de cada ronda de conversación, almacene la conversación en una base de datos vectorial.
b. Cuando un usuario haga una pregunta, recupere los registros de conversación relevantes basándose en la similitud.
c. Combine los registros de conversación recuperados con la entrada más reciente del usuario y envíe el contenido combinado al modelo.
2. Control de costos
Los tokens de entrada aumentan con cada ronda, lo que incrementa significativamente los costos. Utilice estas estrategias de gestión de costos:
2.1. Reducir tokens de entrada
Utilice las estrategias de gestión de contexto descritas anteriormente para reducir los tokens de entrada y disminuir los costos.
2.2. Usar modelos compatibles con caché de contexto
En las solicitudes de múltiples turnos, el arreglo messages se procesa y factura repetidamente. Model Studio proporciona caché de contexto para modelos como qwen-max y qwen-plus, lo que reduce los costos y mejora la velocidad de respuesta. Priorice los modelos que admiten caché de contexto.
La caché de contexto se habilita automáticamente; no se requieren cambios en el código.