Гайд · TNWS AI

Как настроить function calling в DeepSeek API и безопасно выполнить инструмент

WindowsmacOSLinuxDeepSeek#DeepSeek#API#нейросети
2 мин

Практическое руководство: рабочий пример, структура ответа, ограничения, негативные тесты и проверка результата для запроса «как настроить 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 не должен повторять необратимую операцию.

Пошаговая проверка

  1. Попробуйте свой ID, чужой ID, буквы и prompt injection.
  2. Backend должен отклонить три опасных случая до обращения к данным.
  3. Повтор одного call ID должен вернуть прежний результат, а не создать дубль.

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

  • Не публикуйте API-ключ и не передавайте его браузеру.
  • Не записывайте результат в базу без проверки структуры.
  • Не делайте бесконечные повторы после 401, 429 или 5xx.
  • Не называйте уверенный текст доказанным фактом.

Ограничения

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

FAQ

Можно ли использовать пример в production?

Только после добавления таймаутов, обработки ошибок, лимитов и защиты секретов.

Как выбрать модель?

Сверить текущий список моделей и возможности в официальной документации непосредственно перед внедрением.

Нужно ли проверять ответ модели?

Да: формат — валидатором, факты — источником или базой, вычисления — обычным кодом.

Почему нет фиксированной цены?

Цены меняются и зависят от модели; используйте актуальную официальную страницу тарификации.

Официальный источник

Проверено 12 сентября 2026 года: https://api-docs.deepseek.com/guides/function_calling

Читайте также

Комментарии

Пока тихо. Скажите первое слово