Назад ко всем статьям
Руководства

Миграция DeepSeek API на deepseek-v4-flash / deepseek-v4-pro: как выбрать между двумя совместимыми форматами OpenAI и Anthropic

14 июня 2026 г. · 12 мин чтения · Claude / GPT / Gemini / DeepSeek

Дорожная карта миграции для разработчиков на кремовом фоне: слева серые карточки старых моделей deepseek-chat/deepseek-reasoner, стрелки ведут к двум терракотовым карточкам deepseek-v4-flash и deepseek-v4-pro справа, снизу разветвление на Ope

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

Диаграмма временной шкалы на кремовом фоне: слева отмечена текущая контрольная точка 2026-06-14, справа — точка вывода из эксплуатации 2026-07-24 23:59 по пекинскому времени; между ними терракотовая стрелка, старые имена моделей серым исчезают, новые имена моделей выделены угольно-серым

Сначала выберите формат интерфейса: ориентируйтесь на свою экосистему, а не на убеждения

Сейчас 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 больше похожа на выбор по умолчанию.

Диаграмма миграции семейства моделей: слева две карточки старых моделей deepseek-chat и deepseek-reasoner, справа две карточки новых моделей deepseek-v4-flash и deepseek-v4-pro; разные типы линий показывают режимы без рассуждений и с рассуждениями, терракотовым цветом выделен рекомендуемый путь

Формат 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 тестового лимита.