Скрипт для DeepSeek чаще всего нужен в трёх ситуациях: автоматизация запросов к модели через официальный API, локальный запуск модели семейства DeepSeek-R1 или DeepSeek-V3 на собственном железе и интеграция чат-бота в стороннее приложение. Во всех трёх случаях рабочий сценарий строится вокруг HTTP-запросов к API, совместимому с форматом OpenAI, — поэтому базовый скрипт на Python занимает буквально пару десятков строк.
Ниже разберём, как получить ключ, написать минимальный рабочий скрипт, добавить потоковый вывод и обработку ошибок, а также как запустить модель локально через Ollama. Все примеры проверяемы: они используют официально документированный интерфейс DeepSeek API и стандартную библиотеку openai для Python.
Что понадобится перед написанием скрипта
Для работы через облачный API нужен ключ доступа. Он создаётся в личном кабинете на платформе DeepSeek в разделе API keys. Ключ показывается один раз при создании, поэтому его сразу сохраняют в переменную окружения или в файл конфигурации, исключённый из системы контроля версий.
Второй компонент — среда выполнения. Проще всего использовать Python 3 с установленным пакетом openai: клиент DeepSeek совместим с этой библиотекой, меняется только базовый адрес и ключ. Установка выполняется стандартной командой:
pip install openai
- 🔑 API-ключ — создаётся в личном кабинете платформы DeepSeek
- 🐍 Python 3 и пакет
openai— для скриптов на Python - 💻 Ollama — если планируется локальный запуск модели без облака
- 🌐 Стабильное соединение с интернетом — для облачного варианта
⚠️ Внимание: никогда не вставляйте API-ключ прямо в код скрипта, который публикуется или передаётся третьим лицам. Скомпрометированный ключ нужно сразу отозвать в личном кабинете и создать новый.
Минимальный скрипт для DeepSeek API
Базовый сценарий отправляет один запрос к модели и печатает ответ. Используется точка входа https://api.deepseek.com и имя модели deepseek-chat (это актуальная модель линейки V3) либо deepseek-reasoner для модели с рассуждениями R1.
from openai import OpenAI
client = OpenAI(
api_key="ВАШ_КЛЮЧ",
base_url="https://api.deepseek.com"
)
response = client.chat.completions.create(
model="deepseek-chat",
messages=[
{"role": "system", "content": "Ты — полезный ассистент."},
{"role": "user", "content": "Объясни, что такое рекурсия."}
]
)
print(response.choices[0].message.content)
Если скрипт возвращает осмысленный текст — подключение работает. Ошибка авторизации обычно означает неверный или отозванный ключ, а ошибка недостаточности средств — что на балансе аккаунта закончились средства: API DeepSeek работает по предоплатной модели, и это стоит проверить в личном кабинете.
Потоковый вывод и длинные ответы
Когда модель генерирует длинный текст, ждать полного ответа неудобно. Режим стриминга возвращает ответ по частям — так работают чат-интерфейсы. Включается он параметром stream=True:
stream = client.chat.completions.create(
model="deepseek-chat",
messages=[{"role": "user", "content": "Напиши эссе про космос."}],
stream=True
)
for chunk in stream:
delta = chunk.choices[0].delta.content
if delta:
print(delta, end="", flush=True)
Для модели deepseek-reasoner в потоке дополнительно приходит поле с ходом рассуждения — его можно выводить отдельно или скрывать. Учтите, что у reasoner-модели этап рассуждения увеличивает время ответа и расход токенов, поэтому для простых задач выгоднее обычный deepseek-chat.
Локальный запуск: скрипт через Ollama
Если данные нельзя отправлять в облако, модель семейства DeepSeek-R1 в дистиллированных вариантах запускают локально через Ollama. После установки Ollama модель скачивается одной командой, например:
ollama pull deepseek-r1:7b
Дальше локальный сервер Ollama принимает запросы по адресу http://localhost:11434, и скрипт почти не отличается от облачного — меняется только базовый URL и ключ (подойдёт любая строка):
client = OpenAI(
api_key="ollama",
base_url="http://localhost:11434/v1"
)
Требования к железу зависят от размера модели: компактные дистилляты работают на обычном ПК с достаточным объёмом оперативной памяти, а полные версии требуют мощной видеокарты. Точные требования для конкретного варианта модели смотрите в описании на странице Ollama — они различаются между версиями.
☑️ Проверка перед запуском локальной модели
Обработка ошибок и ограничение расходов
Рабочий скрипт, который запускается регулярно, должен переживать сбои сети и лимиты API. Минимальный набор защитных мер: повторные попытки с паузой, тайм-аут запроса и контроль параметра max_tokens, чтобы не тратить лишнего.
| Ситуация | Вероятная причина | Что сделать |
|---|---|---|
| Ошибка 401 | Неверный или отозванный ключ | Проверить ключ, создать новый |
| Ошибка 402 | Недостаточно средств на балансе | Пополнить баланс в кабинете |
| Ошибка 429 | Превышен лимит запросов | Добавить паузу и повторные попытки |
| Тайм-аут соединения | Сеть или нагрузка на сервер | Увеличить timeout, повторить позже |
| Пустой ответ | Слишком маленький max_tokens | Увеличить лимит токенов |
⚠️ Внимание: не делайте повторные попытки в бесконечном цикле без задержки — при лимите 429 это только усугубит блокировку. Используйте экспоненциальную паузу: 1, 2, 4 секунды и так далее, с ограничением числа попыток.
Пример повторных попыток
Обёртка с retry выглядит так: цикл for attempt in range(3), внутри try с вызовом API, в except — time.sleep(2 ** attempt). Если все попытки исчерпаны, скрипт логирует ошибку и завершается, а не падает с traceback.
Куда встроить скрипт: типовые сценарии
Один и тот же клиентский код ложится в основу разных приложений. Чат-бот для Telegram получает сообщение пользователя, пересылает его в DeepSeek и возвращает ответ. Скрипт автоматизации обрабатывает пакет текстов из файла — например, генерирует описания или переводит документы. А в связке с планировщиком задач скрипт может ежедневно формировать сводки или отчёты.
- 🤖 Чат-бот — DeepSeek как «мозг» бота в мессенджере
- 📄 Пакетная обработка — перевод, суммаризация, классификация текстов
- 📊 Отчёты по расписанию — запуск через планировщик задач ОС
- 🧩 Плагин в свой сервис — вызов API из backend-кода
При массовой обработке важно помнить про системный промпт: чёткая инструкция в сообщении system заметно стабилизирует формат ответов, что упрощает дальнейший разбор результатов скриптом.
Частые вопросы
Можно ли использовать скрипт для DeepSeek бесплатно?
Облачный API DeepSeek платный по модели предоплаты, хотя расценки ниже многих конкурентов. Бесплатный вариант — локальный запуск дистиллированных моделей через Ollama, но он ограничен мощностью вашего железа.
Чем deepseek-chat отличается от deepseek-reasoner в скрипте?
Первый — универсальная диалоговая модель для обычных задач. Второй перед ответом строит цепочку рассуждений, что полезно для математики, логики и кода, но дольше и расходует больше токенов.
Работает ли скрипт без библиотеки openai?
Да. API DeepSeek — обычный HTTP-интерфейс, запрос можно отправить через requests или даже curl, передав JSON с полями model и messages и заголовок авторизации с ключом.
Почему локальная модель отвечает медленно?
Скорость зависит от размера модели и железа: на процессоре без видеокарты даже компактные версии генерируют текст заметно медленнее облака. Попробуйте меньший дистиллят или квантованную версию модели.
Безопасно ли отправлять личные данные через API?
Запросы уходят на серверы провайдера, поэтому конфиденциальные данные лучше обезличивать перед отправкой либо использовать локальный запуск модели, где данные не покидают ваш компьютер.