Миграция DeepSeek API на deepseek-v4-flash / deepseek-v4-pro: как выбрать между двумя совместимыми форматами OpenAI и Anthropic
14 июня 2026 г. · 12 мин чтения · Claude / GPT / Gemini / DeepSeek

2026-06-14 При работе с DeepSeek API в первую очередь стоит менять не prompt, а имя модели. На китайской странице цен DeepSeek всё сказано прямо: deepseek-chat и deepseek-reasoner будут выведены из эксплуатации 2026/07/24 в 23:59 по пекинскому времени; в период совместимости первая соответствует режиму без рассуждений у deepseek-v4-flash, а вторая — режиму рассуждений у deepseek-v4-flash (страница цен DeepSeek). Если в вашем production-коде всё ещё прописаны старые имена, не ждите последней недели.

Сначала выберите формат интерфейса: ориентируйтесь на свою экосистему, а не на убеждения
Сейчас DeepSeek предоставляет два совместимых входа: формат OpenAI https://api.deepseek.com и формат Anthropic https://api.deepseek.com/anthropic (первый вызов API DeepSeek).
Моя рекомендация проста:
| Ваша текущая ситуация | Что выбрать | Причина |
|---|---|---|
| Уже используете OpenAI SDK, LangChain, LlamaIndex, Chat Completions в Vercel AI SDK | Формат OpenAI | Минимум изменений: base_url и model |
| Уже используете Anthropic SDK, Claude Code, структуру Messages API | Формат Anthropic | Привычные system, messages.create, max_tokens не меняются |
| Пишете собственный HTTP wrapper | Сначала формат OpenAI | Больше материалов для отладки, поля более универсальны |
| Нужно переиспользовать цепочку инструментов Claude | Формат Anthropic | DeepSeek явно поддерживает экосистему Anthropic API (DeepSeek Anthropic API) |
Один подводный камень: в формате Anthropic DeepSeek выполняет сопоставление имён моделей. В официальной документации указано, что имена, начинающиеся с claude-opus, будут сопоставлены с deepseek-v4-pro, а начинающиеся с claude-haiku или claude-sonnet — с deepseek-v4-flash. Я всё равно советую явно писать deepseek-v4-pro или deepseek-v4-flash, а не отдавать production-поведение на волю неявного сопоставления.
Замена имён моделей: больше не полагайтесь на совместимые псевдонимы
В таблице миграции всего две строки:
| Старое имя модели | Сейчас совместимо с | Рекомендуемая запись |
|---|---|---|
deepseek-chat |
deepseek-v4-flash в режиме без рассуждений |
deepseek-v4-flash + отключить thinking |
deepseek-reasoner |
deepseek-v4-flash в режиме рассуждений |
deepseek-v4-flash или deepseek-v4-pro + включить thinking |
Если раньше вы использовали deepseek-reasoner для ревью кода, сложного SQL или рассуждений по длинным текстам, заодно оцените deepseek-v4-pro. Если это поддержка клиентов, суммаризация или классификация, deepseek-v4-flash больше похожа на выбор по умолчанию.

Формат OpenAI: версия с минимальными изменениями
Формат OpenAI у DeepSeek по-прежнему использует Chat Completions. Официальный интерфейс OpenAI сам построен в стиле списка сообщений POST /v1/chat/completions (OpenAI API Reference), поэтому в большинстве SDK нужно изменить только два места.
# 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)
Чтобы включить режим рассуждений, замените последний фрагмент на:
reasoning_effort="high",
extra_body={"thinking": {"type": "enabled"}}
В DeepSeek режим рассуждений включён по умолчанию; в OpenAI SDK thinking нужно помещать в extra_body; для интенсивности рассуждений поддерживаются high и max (режим рассуждений DeepSeek). Если ваша цепочка вызова инструментов передаёт обратно сообщения assistant, запомните жёсткое правило: для раундов режима рассуждений, связанных с tool call, в последующих запросах необходимо полностью передавать обратно reasoning_content, иначе будет 400.
Формат Anthropic: запасной путь для цепочки инструментов Claude
Если у вас уже написаны системные подсказки, max_tokens и client.messages.create() вокруг Anthropic Messages API, просто замените 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)
Официальный Anthropic Messages API тоже использует структуру messages.create, а ключевые поля включают model, max_tokens, system, messages (Anthropic Messages API). Поэтому настоящая причина выбирать формат Anthropic — не в том, что он «более продвинутый», а в том, что нужно меньше менять код экосистемы Claude.
Оценка затрат: сначала считайте как при промахе кэша
Китайская страница цен DeepSeek считает стоимость за миллион tokens: для deepseek-v4-flash вход при попадании в кэш — 0,02 юаня, вход при промахе — 1 юань, выход — 2 юаня; для deepseek-v4-pro вход при попадании в кэш — 0,025 юаня, вход при промахе — 3 юаня, выход — 6 юаней (страница цен DeepSeek).
Грубая оценка: 200M входных и 50M выходных tokens в месяц, сначала считаем как полный промах кэша.
| Модель | Стоимость входа | Стоимость выхода | Итого |
|---|---|---|---|
deepseek-v4-flash |
200 юаней | 100 юаней | 300 юаней |
deepseek-v4-pro |
600 юаней | 300 юаней | 900 юаней |
Реальный счёт будет зависеть от попаданий в кэш. При RAG, Agent и длинных системных подсказках размещайте стабильный префикс в начале: когда hit rate вырастет, стоимость входа заметно снизится. Не закладывайте в бюджет в первый день миграции самые оптимистичные цифры по кэшу.
Пользователям промежуточного интерфейса: для простоты можно использовать onehop
Если ваша цель — не только подключить DeepSeek, а переключать Claude, GPT и Gemini в одном и том же коде, onehop — путь, который экономит время: совместимость с OpenAI/Anthropic, Base URL меняется на https://api.onehop.ai/v1, новым аккаунтам дают $10, цены ниже официальных, привязка карты не нужна.
Пример для OpenAI SDK:
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)
Anthropic SDK тоже можно направить на тот же Base URL:
import anthropic, os
client = anthropic.Anthropic(
api_key=os.environ["ONEHOP_API_KEY"],
base_url="https://api.onehop.ai/v1",
)
Для production-миграции я бы выстроил такой график: сегодня заменить старые имена моделей; на этой неделе прогнать smoke test для обоих путей — OpenAI и Anthropic; до конца месяца дописать логику обратной передачи для режима рассуждений и tool call; до середины июля удалить все deepseek-chat и deepseek-reasoner. Если хотите меньше поддерживать несколько конфигураций поставщиков, можно сразу попробовать: вызывать Claude и другие модели через onehop или сначала получить лимит и прогнать цепочку: зарегистрируйтесь и получите $10 тестового лимита.
Похожие материалы

Используйте Groq GPT-OSS 120B с OpenAI SDK: базовый URL, цены и кэширование
Замените base URL в OpenAI SDK, запускайте GPT-OSS 120B на Groq, оценивайте стоимость кэшированных токенов и избегайте сюрпризов с оплатой инструментов.
17 июня 2026 г. · 26 мин чтения

Вызов Gemini API через OpenAI SDK: руководство по миграции с заменой только base_url, API Key и имени модели
Чек-лист миграции на совместимый интерфейс Gemini для проектов на OpenAI SDK: код, сопоставление параметров и цены.
14 июня 2026 г. · 9 мин чтения

Вызов Gemini API через OpenAI SDK: руководство по подключению с изменением только base_url, key и имени модели
Подключение Gemini к существующему коду на OpenAI SDK: минимально нужно изменить всего три настройки.
14 июня 2026 г. · 9 мин чтения