Гайд · TNWS AI
Как настроить function calling в DeepSeek API и безопасно выполнить инструмент
Практическое руководство: рабочий пример, структура ответа, ограничения, негативные тесты и проверка результата для запроса «как настроить function calling DeepSeek».
Модель предлагает имя функции и JSON-аргументы, а реальное действие выполняет backend. Перед вызовом проверяйте схему, права пользователя, диапазоны и состояние объекта. Для платежа, удаления и публикации требуется отдельное подтверждение и idempotency key.
Рабочий пример
const tools=[{type:"function",function:{
name:"get_order_status",
description:"Статус заказа текущего пользователя",
parameters:{type:"object",properties:{order_id:{type:"string",pattern:"^[0-9]{4,12}$"}},required:["order_id"]}
}}];
const r=await client.chat.completions.create({model:"deepseek-chat",messages,tools});
// Разберите tool_calls, проверьте владельца заказа,
// выполните функцию и верните tool message по call id.
Что важно в реализации
- JSON Schema не заменяет авторизацию.
- Tool call может отсутствовать, если модель решила ответить текстом.
- Результат функции должен различать not_found, forbidden и temporary_error.
- Повтор call ID не должен повторять необратимую операцию.
Пошаговая проверка
- Попробуйте свой ID, чужой ID, буквы и prompt injection.
- Backend должен отклонить три опасных случая до обращения к данным.
- Повтор одного call ID должен вернуть прежний результат, а не создать дубль.
Чего не делать
- Не публикуйте API-ключ и не передавайте его браузеру.
- Не записывайте результат в базу без проверки структуры.
- Не делайте бесконечные повторы после 401, 429 или 5xx.
- Не называйте уверенный текст доказанным фактом.
Ограничения
Доступность моделей, контекст, лимиты и цена зависят от актуальной версии сервиса и аккаунта. Сначала запускайте небольшой тест на обезличенных данных. Для важных решений используйте первичный источник и независимую проверку.
FAQ
Можно ли использовать пример в production?
Только после добавления таймаутов, обработки ошибок, лимитов и защиты секретов.
Как выбрать модель?
Сверить текущий список моделей и возможности в официальной документации непосредственно перед внедрением.
Нужно ли проверять ответ модели?
Да: формат — валидатором, факты — источником или базой, вычисления — обычным кодом.
Почему нет фиксированной цены?
Цены меняются и зависят от модели; используйте актуальную официальную страницу тарификации.
Официальный источник
Проверено 12 сентября 2026 года: https://api-docs.deepseek.com/guides/function_calling
Читайте также
Как использовать reasoning-модель DeepSeek и получить финальный ответ без потери контекста
Практическое руководство: рабочий пример, структура ответа, ограничения, негативные тесты и проверка результата для запроса «как использовать DeepSeek reasoning API».
Как подключить DeepSeek API через OpenAI SDK: base URL, ключ и первый запрос
Практическое руководство: рабочий пример, структура ответа, ограничения, негативные тесты и проверка результата для запроса «как подключить DeepSeek API».
Как получить корректный JSON из DeepSeek API и проверить его схемой
Практическое руководство: рабочий пример, структура ответа, ограничения, негативные тесты и проверка результата для запроса «как получить JSON DeepSeek API».
Комментарии
Пока тихо. Скажите первое слово