Migración de API DeepSeek: Cambiar a V4.1 Flash
DeepSeek-V4 Team · 6 de junio de 2026 · 7 min read

Si tu aplicación aún envía deepseek-v4-flash, una solicitud exitosa ya no significa que esté usando el modelo original V4 Flash. La documentación actual de DeepSeek enruta ese nombre de compatibilidad a V4.1 Flash. Las nuevas integraciones deben solicitar deepseek-flash explícitamente.
Esta guía actualiza la ruta oficial de migración de API al 23 de septiembre de 2026. Está destinada a desarrolladores que mantienen un script, servidor o integración de agente. Mover una conversación entre productos de chat web es una tarea separada; copiar el historial de chat no cambia la configuración de API en tu aplicación.
Verifica qué significa ahora cada identificador
El registro de cambios oficial y la tabla de modelos establecen el mapeo actual:
| Identificador en tu configuración | Estado documentado actual | Acción sugerida |
|---|---|---|
deepseek-flash |
V4.1 Flash | Usar para nuevas integraciones Flash |
deepseek-v4-flash |
Alias de compatibilidad para V4.1 Flash | Reemplazar en ejemplos mantenidos y configuración |
deepseek-v4-flash-vision-exp |
Alias de compatibilidad para V4.1 Flash | Mover solicitudes de imagen a deepseek-flash |
deepseek-v4-pro |
V4 Pro permanece disponible | Evaluar antes de cambiar un flujo de trabajo establecido |
deepseek-chat / deepseek-reasoner |
Oficialmente programados para discontinuación el 24 de julio de 2026 | Migrar en lugar de depender de aceptación continuada |
Los nombres antiguos de chat y reasoner no deben tratarse como la forma a largo plazo de elegir el comportamiento de no-pensamiento y pensamiento. Haz explícita la elección del modelo y la configuración de pensamiento en el código mantenido. Inspecciona también trabajos programados y workers en segundo plano: cambiar la aplicación interactiva no actualiza un nombre de modelo copiado en otro servicio.
Separa el proveedor del modelo
Anota el endpoint, el nombre del modelo solicitado, el formato de solicitud y los campos de respuesta que consume tu aplicación. Una pasarela de terceros puede usar diferentes alias o precios. Los mapeos anteriores describen el servicio oficial de DeepSeek, no cada servicio que ofrece un modelo DeepSeek.
Por ejemplo, una variable de entorno llamada MODEL=deepseek-v4-flash te cuenta solo una parte de la historia. También necesitas la URL base y el código que traduce los mensajes de la aplicación en solicitudes de API. Un adaptador puede eliminar campos o imponer un límite de salida más pequeño incluso cuando el modelo subyacente soporta más.
Busca en archivos de configuración, variables de despliegue y scripts de evaluación de prompts antes de editar. Mantén el proveedor sin cambios para la primera verificación de migración. Cambiar proveedores, protocolos, prompts y modelos a la vez hace que un resultado fallido sea mucho más difícil de diagnosticar.
Realiza una solicitud pequeña con un modo explícito
El siguiente ejemplo de Python llama al endpoint oficial de Chat Completions usando un cliente compatible con OpenAI. Instala el paquete openai en tu entorno de prueba y proporciona DEEPSEEK_API_KEY a través de tu mecanismo normal de gestión de secretos. Mantén la clave fuera de archivos de fuente, código de navegador y logs de solicitud.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["DEEPSEEK_API_KEY"],
base_url="https://api.deepseek.com",
)
response = client.chat.completions.create(
model="deepseek-flash",
messages=[{
"role": "user",
"content": "Extract the order ID from: Order A-104 is ready. Return only the ID.",
}],
max_tokens=128,
extra_body={"thinking": {"type": "disabled"}},
)
print(response.choices[0].message.content)
print(response.usage)La tarea tiene una respuesta esperada obvia, A-104. Verifica autenticación, enrutamiento, análisis de respuesta y reporte de uso sin un prompt complejo. Es un ejemplo basado en documentación, no una prueba de API en vivo grabada. Una respuesta o error inesperado es una razón para inspeccionar la solicitud antes de agregar el contexto completo de tu aplicación.
Un límite de 128 tokens es apropiado para esta tarea tiny sin pensamiento. No es un presupuesto recomendado para trabajo de razonamiento o agente. Al restaurar tu carga de trabajo real, elige un presupuesto que permita la salida solicitada y verifica la razón de finalización de la completación por truncamiento.
La configuración de pensamiento puede cambiar el comportamiento sin errores
La documentación de Modo de Pensamiento dice que el pensamiento está habilitado por defecto con alto esfuerzo. En Chat Completions, thinking se suministra a través de extra_body al usar el cliente de Python. Los niveles de esfuerzo soportados son low, high y max.
Para una prueba en modo de pensamiento, reemplaza los argumentos relevantes con:
reasoning_effort="high",
extra_body={"thinking": {"type": "enabled"}},No asumas que una respuesta HTTP exitosa significa que se aplicó cada configuración de muestreo. La documentación dice que temperature no tiene efecto en el modo de pensamiento, aunque puede ser aceptado por compatibilidad. Si una suite de prueba antigua dependía de la temperatura para controlar la variación, documenta esa diferencia antes de comparar resultados.
El historial de llamadas de herramientas necesita cuidado particular. Para solicitudes de Chat Completions que llevan tools, la guía requiere que se devuelva el reasoning_content anterior, incluyendo turnos sin llamada de herramienta. Un adaptador que preserve solo el texto final del asistente puede por lo tanto romper un turno posterior. Inspecciona el manejo completo de mensajes en una prueba multi-turno, en lugar de validar solo la primera respuesta.
Construye el set de regresión alrededor de casos de fallo
Comienza con ejemplos cuyos resultados esperados ya conoces. Incluye una extracción con un campo faltante, una respuesta que debe caber en un schema, una entrada larga con la respuesta cerca del final, y un flujo de trabajo de herramienta que continúa después de un resultado de herramienta. Agrega un caso de imagen solo si tu aplicación usa imágenes.
Para cada tarea, verifica si la salida es usable antes de medir la latencia. Una respuesta con aspecto JSON aún necesita análisis y validación de schema. Un cambio de código aún necesita las pruebas relevantes. Un valor citado aún necesita existir en el material suministrado. Guarda categorías de fallo para que puedas distinguir una regresión de formato de salida de un error de proveedor.
Mide el trabajo completado, incluyendo reintentos. Registra entrada, salida y uso de caché por separado. Una reducción de precio no garantiza una tarea más barata si el nuevo comportamiento produce respuestas más largas o causa que tu aplicación reintente. Usa prompts idénticos y configuraciones explícitas para la comparación; deja la optimización de prompts para una pasada posterior.
La disponibilidad de Pro y la reversión requieren decisiones separadas
El anuncio del 10 de septiembre describió un plan para enrutar solicitudes Pro a Flash. El registro de cambios actual dice que el servicio Pro continúa después del 14 de septiembre con su método de facturación sin cambios. No migres una integración Pro funcional solo porque leíste el plan de retiro anterior.
Para Flash, revertir la configuración a deepseek-v4-flash no restaura el modelo retirado: ese identificador es un alias para el nuevo modelo. Un plan de reversión debe nombrar un servicio realmente disponible y dar cuenta de sus capacidades. Pro no es un fallback directo para una solicitud de imagen; la tabla de modelo oficial actual no lista soporte de visión para Pro.
Despliega el cambio a una pequeña porción de tráfico primero, con una condición clara para detenerse. Mantén los resultados de evaluación y configuraciones de proveedor con el registro de release. Una vez que la nueva ruta pase las verificaciones de tu aplicación, actualiza ejemplos copiados y documentación interna para que el identificador antiguo no regrese durante la próxima integración.