Раздел
Модели и API
Сложность
средняя
Обновлено
2026-05-22
Сценарий

Модели и API

Доказательства

Данные, права, ограничения и метрики в тексте статьи.

Аудит

Короткий разбор процесса перед пилотом.

Короткий ответ

DeepSeek API key нужно выдавать как production-секрет с владельцем, бюджетом, журналом использования и процедурой отключения. Не вставляйте ключ во frontend, общие IDE-настройки, README, чаты, prompt, screenshots или клиентский JavaScript. Рабочий минимум: отдельный ключ под среду и сервис, переменная окружения DEEPSEEK_API_KEY или secret storage, серверный вызов к https://api.deepseek.com, мониторинг 401/402/429 и план ротации.

На 22 мая 2026 года официальная документация DeepSeek указывает OpenAI-совместимый base URL https://api.deepseek.com, Anthropic-совместимый https://api.deepseek.com/anthropic, bearer-auth, модели deepseek-v4-flash и deepseek-v4-pro, а старые имена deepseek-chat и deepseek-reasoner отмечает как совместимые алиасы с прекращением поддержки 24 июля 2026 года: Your First API Call и DeepSeek API reference.

Этот материал не заменяет общий выбор провайдера. Если нужно понять, подходит ли DeepSeek для бизнес-процесса, начните с DeepSeek API для бизнеса, затем считайте экономику через стоимость LLM API.

Перед созданием ключа

Сначала решите не “где нажать кнопку”, а кто владеет доступом. API key привязан к платформенному аккаунту и открывает расходы, поэтому личный аккаунт разработчика плохо подходит для production. Если такой человек уходит, теряет доступ или оплачивает пилот личной картой, команда получает операционный риск вместо управляемой интеграции.

Минимальная карточка ключа:

ПолеЧто зафиксировать
Владелецкоманда, сервис, ответственный за ротацию
Средаdev, staging или production
СценарийRAG, поддержка, документы, классификация, coding-tools
Модельdeepseek-v4-flash, deepseek-v4-pro или временный alias с датой миграции
Секретvault, hosting secrets, CI/CD secret или backend environment
Бюджетпополнение, лимит ручного контроля, владелец счета
Логиrequest id, статус, latency, usage, но не значение ключа
Пересмотрдата проверки доступа, цен, лимитов и владельца

Если проект пока исследовательский, все равно отделите его от production. Дешевый тестовый ключ часто становится “временным навсегда”, а потом оказывается в ноутбуке подрядчика, примере кода или настройках агента.

Где хранить ключ

Для первого вызова DeepSeek показывает переменную DEEPSEEK_API_KEY и bearer-auth. Это нормальный пример, но в продукте источник переменной должен быть управляемым:

# .env.example
DEEPSEEK_API_KEY=
DEEPSEEK_BASE_URL=https://api.deepseek.com
DEEPSEEK_MODEL=deepseek-v4-flash

В репозитории оставляйте только имена переменных. Реальное значение ключа не должно попадать в .env.example, .env.local в Git, frontend bundle, issue, комментарии к PR, скриншот инструкции или prompt для AI-инструмента.

Практичная схема:

  1. Backend читает ключ из secret storage или runtime environment.
  2. Frontend обращается к вашему backend endpoint, а не к DeepSeek напрямую.
  3. Backend добавляет Authorization: Bearer ${DEEPSEEK_API_KEY} только на сервере.
  4. Логи маскируют authorization header и prompt-поля с секретами.
  5. Ошибки возвращают пользователю понятный статус без значения ключа.

Если DeepSeek подключают к coding agent или IDE, заведите отдельный dev-ключ. Такие инструменты могут читать файлы проекта, prompts, настройки и историю команд. Production key не должен жить в пользовательских конфигурациях разработчиков.

Первый серверный запрос

Начните с короткого server-side health check, который проверяет не качество модели, а правильность контура: ключ читается, base URL совпадает, модель доступна, код умеет отличать ошибку авторизации от ошибки оплаты или rate limit.

import OpenAI from 'openai';

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

export async function checkDeepSeekAccess() {
  const response = await deepseek.chat.completions.create({
    model: process.env.DEEPSEEK_MODEL ?? 'deepseek-v4-flash',
    messages: [
      { role: 'system', content: 'Answer with a short operational status.' },
      { role: 'user', content: 'DeepSeek API access check.' }
    ],
    stream: false
  });

  return response.choices[0]?.message?.content ?? '';
}

Этот запрос не должен уходить из браузера и не должен использовать реальные клиентские данные. После hello world сразу проверьте streaming, JSON output, tool calls, timeout, retry, usage accounting и отказ при нехватке данных на небольшом eval-наборе.

Base URL и модели

DeepSeek поддерживает OpenAI- и Anthropic-совместимые форматы, но совместимость формата не означает одинаковое поведение модели. Зафиксируйте параметры явно:

ПараметрРабочее значениеРиск
OpenAI-compatible base URLhttps://api.deepseek.comОшибка URL выглядит как недоступность сервиса или 404/401
Anthropic-compatible base URLhttps://api.deepseek.com/anthropicНужен только если клиент реально говорит в Anthropic-формате
Модели для новых интеграцийdeepseek-v4-flash, deepseek-v4-proСтарые aliases надо мигрировать до даты прекращения поддержки
API keyserver-side secretFrontend-ключ считается раскрытым
Billingbalance и usage по ключам402 может остановить production-сценарий

Не делайте silent fallback между провайдерами без журнала. Если 429 или 503 переключает поток на другую модель, лог должен показать: почему был fallback, какой провайдер ответил, сколько это стоило и не изменились ли границы данных.

Бюджет и usage по ключам

В FAQ DeepSeek описывает пополнение через Top Up, проверку Billing и выгрузку usage, где файл amount содержит детализацию по API key. Для бизнеса это важнее красивого демо: без разбивки по ключам невозможно понять, какой сервис сжег бюджет.

На publish-day проверке 22 мая 2026 года официальные страницы DeepSeek показывали token-based billing, списание из topped-up или granted balance и рекомендацию регулярно перепроверять pricing page. Поэтому в карточке ключа нужна не только строка DEEPSEEK_API_KEY, но и лимит: сколько можно потратить за день, кто пополняет баланс, что делать при 402 и когда пилот останавливается. Бесплатный чат, чужой “free key” или shared gateway не являются управляемой заменой официального API key.

Журналируйте технические поля:

  • service name и environment;
  • key alias или key id, если он доступен в выгрузке;
  • model;
  • request id или trace id;
  • HTTP status и категорию ошибки;
  • latency;
  • token usage, если оно доступно в ответе;
  • prompt version;
  • был ли fallback.

Не журналируйте значение API key, полный prompt с персональными данными, договоры целиком, payment credentials, access tokens и внутренние .env файлы. Если текст нужен для оценки качества, храните обезличенный пример или ссылку на внутренний источник с правами доступа.

Ошибки 401, 402 и 429

Обработайте основные ошибки до запуска пилота. Они разные по смыслу и требуют разных действий:

КодЧто обычно значитЧто делать
401ключ неправильный, удален или не переданостановить вызов, проверить secret, не делать бесконечный retry
402закончился balanceперевести сценарий в ручной режим, уведомить владельца счета
429достигнут account-level concurrency limitвключить backoff, очередь или fallback, сохранить событие в журнале
500/503временная серверная проблема или перегрузкакороткий retry с лимитом, затем ручная деградация

Официальная страница rate limit указывает account-level concurrency: 2500 для deepseek-v4-flash и 500 для deepseek-v4-pro; лимит считается по аккаунту независимо от того, какой API key использован. Во время ожидания ответ может держать соединение и отдавать keep-alive строки или SSE-комментарии. Если вы сами парсите HTTP-ответ, проверьте этот путь, иначе “пустые строки” могут выглядеть как сломанный JSON.

Ротация и отзыв

Ключ нужно уметь заменить без переписывания приложения. Держите model, base URL и key в конфигурации, а не в коде. Для production назначьте владельца ротации и запишите процедуру:

  1. Создать новый API key на платформе DeepSeek.
  2. Добавить его в secret storage под новым version/alias.
  3. Переключить staging и выполнить тестовый запрос.
  4. Переключить production.
  5. Проверить 401/402/429 и usage на первой партии.
  6. Удалить или отключить старый ключ.
  7. Проверить Git, issue, logs, чат и screenshots, если ротация связана с утечкой.

Если ключ попал в публичный репозиторий или клиентский bundle, считайте его скомпрометированным. Удаление строки из Git не возвращает секрету безопасность: его нужно заменить и проверить расходы за период риска.

Данные в prompt

API key защищает доступ к API, но не решает вопрос данных. До первого реального запроса составьте красную зону:

  • пароли, private keys, recovery codes, cookies;
  • платежные данные;
  • персональные данные без правового основания;
  • полные договоры и КП без необходимости;
  • коммерческие условия клиента под NDA;
  • production .env;
  • внутренние incident logs с секретами;
  • исходный код клиента, если договор запрещает внешний API.

Если задачу можно решить на фрагменте, отправляйте фрагмент. Если можно заменить имя клиента идентификатором, заменяйте. Если нужен полный документ, сначала проверьте договор, региональные требования, retention, логи и ручную процедуру удаления из внутренних систем.

Чего не делать

Запросы deepseek api оплатить и deepseek api бесплатно обычно ведут к обходным сценариям. Для корпоративного контура это плохой путь. Не стройте инструкцию вокруг resale-ключей, чужих аккаунтов, “free API key”, сомнительных gateways, общего proxy без владельца или оплаты через неофициального посредника.

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

  • отложить DeepSeek для production;
  • использовать его только на обезличенном eval-наборе;
  • выбрать другого провайдера;
  • поднять локальную модель;
  • оставить процесс человеку до нормального договора и биллинга.

Такой отказ лучше, чем интеграция, которую невозможно проверить при инциденте.

Чеклист

  • Ключ создан под понятного владельца, сервис и среду.
  • Production key не используется во frontend, IDE и личных агентских настройках.
  • DEEPSEEK_API_KEY, base URL и model name лежат в конфигурации, а не в коде.
  • Первый запрос выполняется server-side.
  • Старые aliases deepseek-chat и deepseek-reasoner не используются в новой интеграции без плана миграции.
  • Настроен учет usage по ключам и регулярная проверка billing.
  • 401, 402, 429, 500 и 503 обрабатываются разными сценариями.
  • Логи не содержат значение ключа, authorization header и чувствительные prompts.
  • Есть процедура ротации, удаления старого ключа и проверки расходов после инцидента.
  • Free-key, reseller и payment-workaround сценарии отклонены для production.

FAQ

Можно ли хранить DeepSeek API key во frontend?

Нет. Frontend-код, network calls и sourcemap видит пользователь. Для браузерного интерфейса нужен backend endpoint или другой server-side слой, который сам вызывает DeepSeek.

Можно ли заменить OpenAI key на DeepSeek key и оставить код как есть?

Иногда клиентский слой можно быстро адаптировать через OpenAI-compatible base URL, но проверка не заканчивается на успешном ответе. Нужно протестировать модели, параметры, streaming, JSON, tool calls, ошибки, лимиты, usage и качество на реальных примерах.

Какой model id выбрать для первого теста?

Для новых интеграций используйте актуальные model id из официальной документации и проверяйте их на своем eval-наборе. Не выбирайте модель только по цене или описанию. Старые имена оставляйте только для совместимости и планируйте миграцию.

Что делать, если DeepSeek API возвращает 402?

Не ретраить бесконечно. 402 означает проблему с балансом. Переведите сценарий в ручной режим или fallback, уведомите владельца счета и зафиксируйте событие в журнале.

Нужен ли отдельный ключ для разработчиков?

Да, если разработчики используют IDE, coding agents или локальные эксперименты. Dev-ключ должен иметь отдельный бюджет и не должен совпадать с production-секретом.

Что читать дальше?

Для выбора провайдера откройте DeepSeek API для бизнеса, для бюджета - стоимость LLM API, для общей дисциплины provider-key management - OpenAI API для бизнеса и Qwen API key.

Источники

Следующий шаг

Проверьте этот сценарий на своем процессе

Опишите систему учета, данные, ограничения по правам и ожидаемый эффект. Ответим, что можно запускать в пилот, а где сначала нужен порядок в процессе.

Проверить контур DeepSeek API key Вернуться к маршруту раздела →