Migration de l’API DeepSeek vers deepseek-v4-flash / deepseek-v4-pro : choisir entre les formats compatibles OpenAI et Anthropic
14 juin 2026 · 12 min de lecture · Claude / GPT / Gemini / DeepSeek

2026-06-14 En regardant l’API DeepSeek, la première chose à modifier n’est pas le prompt, mais le nom du modèle. La page tarifaire chinoise de DeepSeek est très directe : deepseek-chat et deepseek-reasoner seront dépréciés le 2026/07/24 à 23:59, heure de Pékin ; pendant la période de compatibilité, le premier correspond au mode sans raisonnement de deepseek-v4-flash, et le second au mode avec raisonnement de deepseek-v4-flash (page des tarifs DeepSeek). Si votre code de production utilise encore les anciens noms, n’attendez pas la dernière semaine.

Choisir d’abord le format d’interface : regardez votre écosystème, pas vos convictions
DeepSeek propose désormais deux points d’entrée compatibles : le format OpenAI https://api.deepseek.com, et le format Anthropic https://api.deepseek.com/anthropic (premier appel à l’API DeepSeek).
Ma recommandation est simple :
| Votre situation actuelle | Quel choix | Pourquoi |
|---|---|---|
| Vous utilisez déjà le SDK OpenAI, LangChain, LlamaIndex, ou les Chat Completions du Vercel AI SDK | Format OpenAI | Le minimum de changements : base_url et model |
| Vous utilisez déjà le SDK Anthropic, Claude Code, ou la structure Messages API | Format Anthropic | Les habitudes autour de system, messages.create et max_tokens restent inchangées |
| Vous avez écrit votre propre wrapper HTTP | Format OpenAI en priorité | Plus de ressources de débogage, champs plus génériques |
| Vous voulez réutiliser la chaîne d’outils Claude | Format Anthropic | DeepSeek prend explicitement en charge l’écosystème API Anthropic (API Anthropic DeepSeek) |
Un piège : au format Anthropic, DeepSeek effectue un mappage des noms de modèles. La documentation officielle indique que les noms commençant par claude-opus sont mappés vers deepseek-v4-pro, tandis que ceux commençant par claude-haiku ou claude-sonnet sont mappés vers deepseek-v4-flash. Je recommande tout de même d’écrire explicitement deepseek-v4-pro ou deepseek-v4-flash, et de ne pas confier le comportement en production à un mappage implicite.
Remplacement des noms de modèles : ne dépendez plus des alias de compatibilité
Le tableau de migration ne comporte que deux lignes :
| Ancien nom de modèle | Compatibilité actuelle avec | Écriture recommandée |
|---|---|---|
deepseek-chat |
Mode sans raisonnement de deepseek-v4-flash |
deepseek-v4-flash + désactiver thinking |
deepseek-reasoner |
Mode avec raisonnement de deepseek-v4-flash |
deepseek-v4-flash ou deepseek-v4-pro + activer thinking |
Si vous utilisiez auparavant deepseek-reasoner pour la revue de code, du SQL complexe ou du raisonnement sur de longs textes, vous pouvez en profiter pour évaluer deepseek-v4-pro. Pour du support client, du résumé ou de la classification, deepseek-v4-flash ressemble davantage au choix par défaut.

Format OpenAI : version à modification minimale
Le format OpenAI de DeepSeek passe toujours par Chat Completions. L’interface officielle d’OpenAI elle-même utilise aussi le style liste de messages de POST /v1/chat/completions (référence de l’API OpenAI), donc la plupart des SDK ne nécessitent que deux changements.
# pip install openai
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["DEEPSEEK_API_KEY"],
base_url="https://api.deepseek.com",
)
resp = client.chat.completions.create(
model="deepseek-v4-flash",
messages=[
{"role": "system", "content": "你是一个严谨的代码审查助手。"},
{"role": "user", "content": "检查这段 Python 代码的潜在 bug。"},
],
extra_body={"thinking": {"type": "disabled"}},
stream=False,
)
print(resp.choices[0].message.content)
Pour activer le mode raisonnement, remplacez le dernier bloc par :
reasoning_effort="high",
extra_body={"thinking": {"type": "enabled"}}
Le mode raisonnement de DeepSeek est activé par défaut ; dans le SDK OpenAI, thinking doit être placé dans extra_body ; l’intensité du raisonnement prend en charge high et max (mode raisonnement DeepSeek). Si votre chaîne d’appels d’outils renvoie les messages assistant, retenez une règle stricte : pour les tours en mode raisonnement impliquant un tool call, les requêtes ultérieures doivent renvoyer intégralement reasoning_content, sinon vous obtiendrez une erreur 400.
Format Anthropic : garder une porte de sortie pour la chaîne d’outils Claude
Si vous avez déjà écrit vos prompts système, max_tokens et client.messages.create() autour de l’API Anthropic Messages, changez simplement la Base URL :
# pip install anthropic
import os
import anthropic
client = anthropic.Anthropic(
api_key=os.environ["DEEPSEEK_API_KEY"],
base_url="https://api.deepseek.com/anthropic",
)
msg = client.messages.create(
model="deepseek-v4-pro",
max_tokens=1000,
system="你是一个资深后端工程师。",
messages=[{"role": "user", "content": "给我一个 Redis 缓存穿透的修复方案。"}],
thinking={"type": "enabled"},
output_config={"effort": "high"},
)
print(msg.content)
L’API officielle Anthropic Messages utilise elle aussi cette structure messages.create, avec des champs clés comme model, max_tokens, system et messages (API Anthropic Messages). La vraie raison de choisir le format Anthropic n’est donc pas qu’il serait « plus avancé », mais qu’il nécessite moins de changements dans le code de l’écosystème Claude.
Estimation des coûts : commencez par calculer sans cache hit
La page tarifaire chinoise de DeepSeek facture au million de tokens : pour deepseek-v4-flash, 0,02 yuan en entrée avec cache hit, 1 yuan en entrée sans cache hit, et 2 yuans en sortie ; pour deepseek-v4-pro, 0,025 yuan en entrée avec cache hit, 3 yuans en entrée sans cache hit, et 6 yuans en sortie (page des tarifs DeepSeek).
Un calcul approximatif : 200 M de tokens d’entrée et 50 M de tokens de sortie par mois, en supposant d’abord que tout est sans cache hit.
| Modèle | Coût d’entrée | Coût de sortie | Total |
|---|---|---|---|
deepseek-v4-flash |
200 yuans | 100 yuans | 300 yuans |
deepseek-v4-pro |
600 yuans | 300 yuans | 900 yuans |
La facture réelle dépendra du taux de cache hit. Pour du RAG, des agents ou de longs prompts système, placez les préfixes stables au début : une fois le taux de cache hit amélioré, le coût d’entrée baissera nettement. Ne basez pas votre budget du premier jour de migration sur les chiffres de cache les plus optimistes.
Utilisateurs d’interfaces relais : pour simplifier, vous pouvez passer par onehop
Si votre objectif n’est pas seulement de vous connecter à DeepSeek, mais de basculer entre Claude, GPT et Gemini dans le même code, onehop est une voie qui fait gagner du temps : compatible OpenAI/Anthropic, Base URL à remplacer par https://api.onehop.ai/v1, 10 $ offerts aux nouveaux comptes, prix inférieurs aux tarifs officiels, sans carte bancaire requise.
Exemple avec le SDK OpenAI :
from openai import OpenAI
import os
client = OpenAI(
api_key=os.environ["ONEHOP_API_KEY"],
base_url="https://api.onehop.ai/v1",
)
resp = client.chat.completions.create(
model="claude-sonnet-4-5",
messages=[{"role": "user", "content": "用三点解释这个 API 迁移计划。"}],
)
print(resp.choices[0].message.content)
Le SDK Anthropic peut lui aussi pointer vers la même Base URL :
import anthropic, os
client = anthropic.Anthropic(
api_key=os.environ["ONEHOP_API_KEY"],
base_url="https://api.onehop.ai/v1",
)
Pour une migration en production, je planifierais ainsi : aujourd’hui, remplacer les anciens noms de modèles ; cette semaine, faire passer les smoke tests sur les deux chemins OpenAI/Anthropic ; avant la fin du mois, compléter la logique de renvoi pour le mode raisonnement et les tool calls ; avant la mi-juillet, supprimer tous les deepseek-chat et deepseek-reasoner. Si vous voulez maintenir moins de configurations fournisseurs, vous pouvez essayer directement : appeler Claude et d’autres modèles sur onehop, ou commencer par récupérer le crédit pour valider la chaîne : 10 $ de crédit d’essai offerts à l’inscription.
Lectures liees

Utiliser Groq GPT-OSS 120B avec le SDK OpenAI : URL de base, tarifs et mise en cache
Changez une seule URL de base du SDK OpenAI pour exécuter GPT-OSS 120B sur Groq, estimer les coûts en cache et éviter les surprises.
17 juin 2026 · 28 min de lecture

Appeler l’API Gemini avec le SDK OpenAI : tutoriel de migration en ne changeant que base_url, la clé API et le nom du modèle
Checklist de migration vers l’interface compatible Gemini pour projets OpenAI SDK, avec code, correspondance des paramètres et tarifs.
14 juin 2026 · 9 min de lecture

Appeler l’API Gemini avec le SDK OpenAI : guide d’intégration en ne modifiant que base_url, la clé et le nom du modèle
Intégrez Gemini à votre code SDK OpenAI existant avec seulement trois changements de configuration.
14 juin 2026 · 9 min de lecture