pimenov.ai

База знаний

DeepSeek API и SDK

DeepSeek API: эндпоинты, модели V и R, tool use, structured outputs, ценообразование. Связка с LiteLLM и OpenAI-совместимыми SDK.

Опубликовано Обновлено

DeepSeek — китайский провайдер языковых моделей с открытыми весами и OpenAI-совместимым API. Модели V (chat) и R (reasoning) доступны через собственный эндпоинт, прокси вроде OpenRouter и LiteLLM, а также локально через Ollama. Этот справочник про API и SDK дополняет основной обзор по линейке моделей DeepSeek и фокусируется на практической интеграции: как подключить, какие эндпоинты использовать, как работать с tool use и режимом рассуждений, сколько это стоит.

Для кого: разработчики, которые интегрируют LLM в свои продукты и ищут дешёвую альтернативу OpenAI с OpenAI-совместимым API. Базовое понимание REST API и Python/TypeScript достаточно для старта.

Что такое DeepSeek API

DeepSeek предлагает два семейства моделей через единый API:

  • DeepSeek-V (линейка chat) — модели общего назначения на архитектуре Mixture of Experts. Текущий флагман — V4 Flash (284B параметров, 13B активных) и V4 Pro (1.6T / 49B активных). Контекст до 1M токенов.
  • DeepSeek-R (линейка reasoning) — модели с цепочкой рассуждений, аналог OpenAI o1. Начиная с V3.1, рассуждения встроены в основную модель как переключаемый режим.

API полностью совместим с форматом OpenAI ChatCompletions. Можно использовать официальный OpenAI SDK, просто поменяв base_url и ключ. Дополнительно поддерживается формат Anthropic Messages.


Подключение

Python (через OpenAI SDK)

from openai import OpenAI

client = OpenAI(
    api_key="sk-...",  # \u043a\u043b\u044e\u0447 \u043e\u0442 DeepSeek
    base_url="https://api.deepseek.com"
)

response = client.chat.completions.create(
    model="deepseek-v4-flash",
    messages=[{"role": "user", "content": "\u041e\u0431\u044a\u044f\u0441\u043d\u0438 MoE \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443"}]
)

print(response.choices[0].message.content)

TypeScript

import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: process.env.DEEPSEEK_API_KEY,
  baseURL: 'https://api.deepseek.com'
});

const response = await client.chat.completions.create({
  model: 'deepseek-v4-flash',
  messages: [{ role: 'user', content: 'Hello' }]
});

Reasoning-модель

response = client.chat.completions.create(
    model="deepseek-v4-pro",  # \u0438\u043b\u0438 deepseek-reasoner
    messages=[{"role": "user", "content": "\u0420\u0435\u0448\u0438 \u0437\u0430\u0434\u0430\u0447\u0443..."}]
)

# reasoning_content \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0446\u0435\u043f\u043e\u0447\u043a\u0443 \u0440\u0430\u0441\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u0439
print(response.choices[0].message.reasoning_content)
print(response.choices[0].message.content)
⚠️
Про алиас deepseek-reasoner в примере выше. Он указывает на thinking-режим V4 Flash, а не на V4 Pro. Если нужна именно Pro в режиме рассуждений, указывайте deepseek-v4-pro явно.
Ключ API получаете на platform.deepseek.com. Регистрация бесплатная, есть стартовый баланс для тестов.

Эндпоинты и модели

МодельИдентификаторКонтекстНазначение
V4 Flashdeepseek-v4-flashдо 1MЧат, генерация, код, массовые задачи
V4 Prodeepseek-v4-proдо 1MСложные рассуждения, агенты, кодинг по репозиториям
Reasoner (устаревший алиас)deepseek-reasoner64KУказывает на V4 Flash в режиме рассуждений. Выводится из обращения 24 июля 2026
Chat (устаревший алиас)deepseek-chat64KУказывает на V4 Flash. Выводится из обращения 24 июля 2026

Основной эндпоинт: https://api.deepseek.com/chat/completions

API поддерживает streaming, tool use, JSON mode и system prompts. Официальная документация V4 на момент превью описывает только текстовый ввод — приёма изображений через API нет (заявления о «мультимодальности V4» часто путают с отдельной линейкой DeepSeek-VL).

⚠️
Старые имена моделей deepseek-chat и deepseek-reasoner выводятся из обращения 24 июля 2026. Если у вас в коде зашиты эти имена, переведите на deepseek-v4-flash / deepseek-v4-pro заранее. Контекст 64K в таблице выше — наследие прежней версии: сейчас оба алиаса маршрутизируются на V4 Flash.

Tool use и structured outputs

DeepSeek поддерживает вызов инструментов в формате OpenAI:

tools = [{
    "type": "function",
    "function": {
        "name": "search_database",
        "description": "\u041f\u043e\u0438\u0441\u043a \u043f\u043e \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445",
        "parameters": {
            "type": "object",
            "properties": {
                "query": {"type": "string"},
                "limit": {"type": "integer", "default": 10}
            },
            "required": ["query"]
        }
    }
}]

response = client.chat.completions.create(
    model="deepseek-v4-flash",
    messages=[{"role": "user", "content": "\u041d\u0430\u0439\u0434\u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0437\u0430\u043a\u0430\u0437\u044b"}],
    tools=tools
)

Для structured outputs используйте response_format: { "type": "json_object" } и опишите нужную схему в системном промпте.

Tool use у DeepSeek работает, но по качеству уступает Claude и GPT-4. На сложных цепочках инструментов (5+ вызовов подряд) модель может терять контекст. Для агентных сценариев с многими инструментами протестируйте на своих задачах и сравните с альтернативами.

Обработка reasoning-токенов

При работе с режимом рассуждений модель генерирует два потока:

  1. reasoning_content — внутренние рассуждения (оплачиваются отдельно)
  2. content — финальный ответ

Цепочка рассуждений доступна в ответе API — её можно показывать пользователю, логировать для аудита или обрезать ради экономии. Глубина рассуждений управляется параметром reasoning_effort (high по умолчанию, max — для самых сложных агентных задач).

⚖️
Trade-off: reasoning-модель стоит дороже и генерирует длинную цепочку перед ответом. Для математических задач и сложной логики это оправдано. Для обычного чата и извлечения фактов режим рассуждений медленнее и дороже без выигрыша в качестве.

Ценообразование

Цены за 1M токенов (июнь 2026). Контекстное кеширование включено по умолчанию: если запрос совпадает по префиксу с недавним, совпавшая часть берётся из кеша.

МодельInput (из кеша)Input (мимо кеша)Output
deepseek-v4-flash$0.0028$0.14$0.28
deepseek-v4-pro$0.003625$0.435$0.87

Это в десятки раз дешевле GPT-4 и Claude Sonnet. V4 Flash — одна из самых дешёвых моделей на рынке при флагманском качестве. Кеширование промптов снижает стоимость ещё в 50 раз при повторных запросах с одинаковым префиксом.

Ночные скидки (50–75%), которые DeepSeek давал в 2025, отменены с 5 сентября 2025. Упоминания «скидок по времени суток» из старых статей неактуальны.

Интеграция через прокси-сервисы

Если вы работаете с несколькими провайдерами, DeepSeek подключается через прокси:

LiteLLM — единый интерфейс для всех LLM:

import litellm

response = litellm.completion(
    model="deepseek/deepseek-v4-flash",
    messages=[{"role": "user", "content": "\u041f\u0440\u0438\u0432\u0435\u0442"}]
)

OpenRouter — API-маркетплейс. Подключение аналогичное: меняете base_url на OpenRouter, модель указываете как deepseek/deepseek-v4-flash.

Прокси удобны для «пирамиды моделей»: направляете простые задачи на DeepSeek Flash, сложные — на Claude или GPT-4, и всё через один SDK.


Сценарии применения

  • Массовая обработка данных. Классификация, суммаризация, дозаполнение тысяч документов. Низкая цена Flash и кеш делают это дешево.
  • Математика и рассуждения. Режим рассуждений V4 Pro силён на олимпиадных задачах.
  • Кодинг по большим проектам. 1M контекста — в промпт влезают целые репозитории.
  • Пирамида моделей. DeepSeek Flash как дешёвый слой для простых задач, Claude/GPT для сложных.
  • Дообучение. Открытая MIT-лицензия позволяет дообучить на внутренних данных.

Особенности и подводные камни

  • Русский язык. Английский и китайский — отлично, русский — на «хорошо», но со своими стилистическими особенностями. Для публичных текстов на русском держите пост-редактуру.
  • Модерация мягче. Фильтры слабее, чем у OpenAI и Anthropic. Для публичных сервисов добавляйте свой слой модерации.
  • Хвост рассуждений. В режиме рассуждений цепочка бывает длинной и раздувает вывод в несколько раз. Используйте обрезку и включайте режим выборочно.
  • Правовой контекст. Модель выпущена в КНР. Для отдельных юрисдикций это ограничение — тогда разворачивайте на своём железе.
  • Скорость релизов. DeepSeek часто сдвигает даты и переименовывает модели — старые гайды устаревают за месяцы.

Антипаттерны

  • Включать режим рассуждений везде. Для обычного чата, извлечения фактов и RAG он медленнее и дороже.
  • Грузить весь контекст просто потому что влезает. Лишние токены — это деньги и расфокус модели.
  • Переходить ради цены без теста. Сначала параллельный прогон на ваших задачах, потом миграция.
  • Оставлять старые имена моделей в коде. deepseek-chat и deepseek-reasoner выводятся. Перейдите на deepseek-v4-* заранее.
  • Доверять tool use без проверки. На сложных цепочках качество ниже, чем у Claude/GPT.

Чеклист интеграции

Получен API-ключ на platform.deepseek.com
Выбрана модель: Flash (дешёво и быстро) или Pro (сложные задачи)
Код использует актуальные имена моделей (deepseek-v4-*), не устаревшие
Решено, нужен ли режим рассуждений и продуман бюджет на reasoning-токены
Настроен слой модерации для публичных сервисов
Проверена лицензия конкретной модели
Для пирамиды моделей: настроен прокси (LiteLLM или OpenRouter)
Прогнан параллельный тест на ваших задачах перед миграцией

Полезные ссылки


По теме

Если выбираете между провайдерами LLM и хотите собрать пирамиду из моделей под свои задачи — пишите в Telegram @pimenov