Функции ботов

Настройка функций, которые бот может вызывать для выполнения действий и взаимодействия с внешними системами

Введение

Функции позволяют боту выполнять действия и взаимодействовать с внешними системами во время разговора. Например, бот может:

  • Отправлять сообщения в Telegram
  • Работать с файлами в облачном хранилище
  • Выполнять API-запросы к внешним сервисам
  • Взаимодействовать с другими системами

Функции выбираются в разделе "Функции" при создании или редактировании бота.

Помощник по настройке

Помимо ручной настройки функций, вы можете использовать встроенного Помощника по настройке — это глобальный помощник в правой части экрана, который помогает шаг за шагом создать:

  • датасеты для базы знаний;
  • чат‑ботов и агентов с нужными моделями и инструкциями;
  • Custom API функции для вызова ваших веб‑хуков;
  • триггеры (например, по расписанию) и ссылки на настройку учетных данных.

Как это работает:

  1. Вы описываете на естественном языке, какого бота или агента хотите настроить.
  2. Помощник формирует план настройки (шаги создания датасетов, бота, функций, триггеров).
  3. Для каждого шага помощник создает отложенный вызов функции (pending function call), который нужно подтвердить.
  4. После подтверждения соответствующие объекты создаются в системе, а в плане появляются ссылки для перехода на страницы редактирования (датасет, бот, учетные данные и т.д.).
Все действия помощника по настройке проходят через тот же механизм подтверждений, что и обычные функции ботов. Никакие изменения не вносятся без вашего явного подтверждения.

Подтверждение действий (pending function calls)

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

Как это работает:

  1. Модель решает вызвать функцию и формирует tool-call с аргументами.
  2. Если для функции включено подтверждение, реальное выполнение не происходит сразу.
  3. В чате появляется карточка с запросом на подтверждение (pending function call).
  4. Вы можете подтвердить или отклонить действие.
  5. После подтверждения функция выполняется, результат возвращается в модель, и бот продолжает диалог.

Это особенно важно для функций, которые:

  • делают HTTP-запросы во внешние системы (включая Custom API);
  • могут списывать деньги или изменять тарифы;
  • отправляют сообщения в реальные каналы (Telegram, email и т.п.).
Рекомендуем включать подтверждение для всех функций, которые могут вносить необратимые изменения или влияют на деньги пользователей.

Выбор функций

В разделе "Функции" отображаются все функции, доступные для вашего аккаунта. Функции сгруппированы по провайдерам (например, Telegram, Yandex Object Storage и др.).

Чтобы включить функцию для бота:

  1. Раскройте раздел "Функции" в форме бота
  2. Найдите нужную функцию в списке
  3. Установите галочку напротив функции
  4. Если функция требует учетные данные, настройте их (см. ниже)
  5. Сохраните изменения

Бот сможет вызывать только те функции, которые вы выбрали. Модель сама решает, когда и какую функцию вызывать, на основе контекста разговора.

Учетные данные для функций

Многие функции требуют учетные данные (credentials) для работы с внешними системами. Например:

  • Функции Telegram требуют учетные данные Telegram бота
  • Функции работы с хранилищем требуют учетные данные облачного хранилища

Если функция требует учетные данные:

  1. Создайте учетные данные в разделе Учетные данные
  2. Вернитесь к настройкам бота
  3. В разделе "Функции" выберите нужные учетные данные из выпадающего списка для каждого провайдера
  4. Если для провайдера доступна только одна учетная запись, она будет выбрана автоматически

Функции, для которых не настроены учетные данные, будут недоступны для выбора (отмечены серым цветом).

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

Провайдеры функций

Функции организованы по провайдерам — системам или сервисам, с которыми они взаимодействуют. Каждый провайдер может требовать свои учетные данные.

Примеры провайдеров:

  • Telegram — функции для отправки сообщений в Telegram
  • Yandex Object Storage — функции для работы с файлами в облачном хранилище
  • И другие провайдеры, доступные для вашего аккаунта

Провайдеры могут быть публичными (доступны всем) или приватными (доступны только вашему аккаунту).

Как бот использует функции

Бот автоматически решает, когда вызывать функции, на основе:

  • Контекста разговора
  • Запроса пользователя
  • Доступных функций
  • Инструкций бота

Например, если пользователь просит отправить сообщение в Telegram, и у бота есть функция отправки сообщений, бот автоматически вызовет эту функцию.

Бот может вызывать несколько функций последовательно, если это необходимо для выполнения задачи.

Решение проблем

Функция недоступна для выбора

Если функция отмечена серым и недоступна:

  • Проверьте, что для провайдера функции настроены учетные данные
  • Убедитесь, что учетные данные активны
  • Создайте недостающие учетные данные в разделе Учетные данные

Функция не вызывается

Если бот не вызывает функцию:

  • Проверьте, что функция выбрана в настройках бота
  • Убедитесь, что учетные данные правильно настроены
  • Проверьте инструкции бота — возможно, они ограничивают использование функций
  • Убедитесь, что модель бота поддерживает вызов функций

Ошибки при вызове функции

Если функция вызывается, но выдает ошибку:

  • Проверьте правильность учетных данных
  • Убедитесь, что учетные данные не истекли
  • Проверьте права доступа учетных данных
  • Обратитесь к документации конкретной функции или провайдера

Связанные темы

Мы используем cookies для улучшения работы сайта. Продолжая пользоваться сайтом, вы соглашаетесь с политикой использования cookies.