ИП Горелов Максим Николаевич 8 (915) 093-74-75
Что такое функция?
Функции — внешние инструменты (фрагменты кода), к которым могут обращаться LLM модели для решения задач пользователей. Модель не исполняет функции, но самостоятельно принимает решение о том как, когда и с какими параметрами их следует вызвать. При принятии решения о вызове функции модель исходит из доступных знаний, данных текущего разговора и описания функции. После обращения к функции модель может обработать результат ее работы.
Что такое параметры?
Это входные данные, которые функция использует для выполнения своей задачи. Они позволяют сделать функцию гибкой и многоразовой, так как она может работать с разными данными без изменения своего кода. Например, функция для генерации изображений может принимать параметры query
(описание изображения) и resolution
(разрешение), чтобы создавать разные картинки по запросу. Параметры нужны, чтобы функция знала, что именно ей нужно обработать или какие условия учесть при выполнении действия.
Как научить ИИ агента использовать эти параметры в функции?
Чтобы объяснить ИИ, какой параметр нужно передать, вы должны включить в промпт бота четкие инструкции. Эти инструкции должны описывать:
Когда нужно вызвать функцию (условие или триггер).
Какую функцию вызвать (по названию или номеру).
Какие параметры и из какой информации в диалоге их брать.
Например, если у вас есть функция для отправки лида (№26), и она принимает параметры name
, phone
, email
, вы можете написать в промпте:
"Если клиент пришлет свой номер телефона, то сразу же вызови функцию №26 (отправка лида). В качестве phone
передай номер телефона клиента, в качестве name
используй имя, которое клиент указал в диалоге, а email
возьми, если клиент его предоставил."
ИИ будет анализировать диалог и, когда увидит соответствующее условие (например, клиент назвал свой номер телефона), он попытается извлечь нужные данные и передать их в указанную функцию.
Функция позволяет записывать клиентов на прием в систему YClients через API. Это может быть полезно для автоматизации процесса записи клиентов на услуги.
Параметры, которые можно передать в функцию yclients_create_record:
company_id - ID компании в YClients. Это целое число, представляющее уникальный идентификатор компании.
api_token - API токен для доступа к YClients. Это строка, необходимая для аутентификации при работе с API.
api_key_user - API ключ пользователя для доступа к YClients. Это строка, необходимая для аутентификации пользователя.
client - информация о клиенте в формате 'телефон;имя;email'. Это строка, содержащая контактные данные клиента.
staff_id - ID сотрудника, к которому записывается клиент. Это целое число, представляющее уникальный идентификатор сотрудника.
services - ID услуг, разделенные точкой с запятой. Это строка, содержащая идентификаторы услуг, которые клиент хочет получить.
datetime - дата и время записи в формате ISO 8601: 2024-11-26T09:00:00+10:00. Это строка, представляющая дату и время записи.
seance_length - длительность сеанса в секундах. Это целое число, указывающее, сколько времени займет сеанс.
comment - комментарий к записи. По умолчанию равен "-". Это строка, содержащая дополнительные заметки о записи.
attendance - статус посещения, по умолчанию = 0. Это целое число, указывающее, был ли клиент на приеме.
send_sms - отправить SMS уведомление, по умолчанию = true. Это булевый параметр, указывающий, нужно ли отправлять SMS уведомление клиенту.
save_if_busy - сохранять запись, если время занято, по умолчанию = false. Это булевый параметр, указывающий, нужно ли сохранять запись, если выбранное время уже занято.
"Запиши клиента с номером телефона '1234567890', именем 'Иван Иванов' и email 'ivan@example.com' на прием к сотруднику с ID 1 на 2024-11-26T09:00:00+10:00."
"Запиши клиента на прием к сотруднику 3 с услугами 1;2 и отправь SMS уведомление."
ИП Горелов Максим Николаевич ИНН 500104951533 ОГРН 309500106900065