# Параметры функций

#### **Имя параметра:**

Введите имя параметра, которое будет использоваться в функции. Используйте английские буквы и символ `_` для разделения. Имя должно быть уникальным и легко читаемым, чтобы его можно было использовать в дальнейшем для настройки и передачи данных.

{% hint style="warning" %}
**Важно**: имя параметра обязано быть написано в нижнем регистре (с маленькой буквы)
{% endhint %}

Имя должно отражать суть инструкции данного параметра. Например, если вы хотите сохранить "Имя клиента", то напишите "name" или "client\_name". Другой пример: в случае, когда необходимо сохранить цену товара, напишите "product\_price" или "price". Чем точнее вы зададите название функции, тем точнее ИИ будет сохранять информацию.

{% hint style="info" %}
В случае, если вы не владеете английским языком, воспользуйтесь онлайн-переводчиком или любой нейросетью.
{% endhint %}

<figure><img src="https://2593311972-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fef2EBU68XAlye1NtG8DF%2Fuploads%2FqZC7AKYLV5jQPh6naitn%2F%7BB322B30F-38BC-458B-904B-5E87142862E5%7D.png?alt=media&#x26;token=a2ee7338-1b47-4170-b5b3-cb194f4ceb5f" alt=""><figcaption></figcaption></figure>

#### **Тип параметра:**

Выберите тип данных для параметра. Это может быть:

* **Текстовый** — для хранения строковых данных, таких как имена, запросы или комментарии.
* **Числовой** — для хранения чисел, например, количества товаров или значений стоимости.
* **Логический** — отвечающий на вопрос Да или Нет<br>

<figure><img src="https://2593311972-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fef2EBU68XAlye1NtG8DF%2Fuploads%2FO9jU1pQOHmYbpCZWDMml%2Fimage.png?alt=media&#x26;token=71bc1cc5-3f91-4a76-922f-fcf86433e947" alt=""><figcaption></figcaption></figure>

#### **Инструкция для параметра:**

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

<figure><img src="https://2593311972-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fef2EBU68XAlye1NtG8DF%2Fuploads%2FP7qeUaq6j5Wy0XV4o4aT%2Fimage.png?alt=media&#x26;token=1aa7578e-2788-41a0-bb69-b16b889ce04d" alt=""><figcaption></figcaption></figure>

Следует описывать кратко, не нужно вставлять всю инструкцию для ИИ-агента, иначе может возникнуть ошибка при вызове функции:

<figure><img src="https://2593311972-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fef2EBU68XAlye1NtG8DF%2Fuploads%2FU7DdKo39dEVKgm9aQBUu%2Fimage.png?alt=media&#x26;token=1eca9668-e139-4bff-ae07-a72e333d1318" alt=""><figcaption></figcaption></figure>

### Пример заполненных параметров функции

<figure><img src="https://2593311972-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fef2EBU68XAlye1NtG8DF%2Fuploads%2FJGiNneharlk99YS7Bs5S%2F%7B667414CE-0547-4F09-9B08-2E729E2DA125%7D.png?alt=media&#x26;token=c54b4fb0-ba91-405c-b19f-2d9be27f4535" alt=""><figcaption></figcaption></figure>

#### Часто используемые параметры функций

* phone\_number - Номер телефона клиента.
* summary - Краткая выжимка из диалога с клиентом.
* name - Имя клиента.

#### **Кнопка "Новый параметр":**

Нажмите кнопку "Новый параметр" для добавления дополнительных параметров в функцию. Каждый новый параметр требует своего имени, типа данных и инструкции. Максимально можно добавить 30 параметров в 1 функцию.

<figure><img src="https://2593311972-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fef2EBU68XAlye1NtG8DF%2Fuploads%2Fgit-blob-f315a409fa063980cd43abdcb4c3a4804fc8baf6%2Fimage%20(9).png?alt=media" alt=""><figcaption></figcaption></figure>

#### **Добавление списка значений для параметра**

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

<figure><img src="https://2593311972-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fef2EBU68XAlye1NtG8DF%2Fuploads%2FBAW6a3sbpgttkLrE9iNu%2Fimage.png?alt=media&#x26;token=e724b0c1-6c2d-4213-b8db-1429b8066272" alt=""><figcaption></figcaption></figure>

**1 - Нажмите на иконку справа и активируйте выбор списка значений**

**2 - Добавьте возможные значения**

В поле "Возможные значения" введите фиксированные варианты, например в этом только услуги Фит массаж и Лайт массаж;\
После ввода каждого фиксированного значения нажмите клавишу Enter.

**3 - Настройте сценарии для каждого значения**

После добавления значений, выберите для каждого из них сценарий поведения. Возможные варианты:

* Ничего не делать;
* Поставить на паузу - если пользователь выберет фиксированное значение "Фит массаж", то диалог встанет на паузу;
* Отправить сообщение (если этот вариант активен, то ИИ-агент оправит клиенту фиксированное сообщение);
* Дополнить промт (добавить указанный текст после основной инструкции);
* Задать результат функции (добавит текст в результат функции, бот будет думать что он сделал запрос с данными и ему пришло это в ответ);
* Переключить агента.

Для каждого значения выберите соответствующее действие, чтобы настроить, как ИИ-агент будет реагировать на разные входные данные.

### Необязательный параметр

<figure><img src="https://2593311972-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fef2EBU68XAlye1NtG8DF%2Fuploads%2F9yBBJ4FGcbgjrNmXQTFC%2Fimage.png?alt=media&#x26;token=7be65e39-8a47-43e2-8c65-5904fc4c6e4f" alt=""><figcaption></figcaption></figure>

При активации "Необязательный параметр", LLM сможет игнорировать этот параметр при выполнении функции, то есть если у вас есть такие параметры, которые не влияют на всю логику работы ИИ-агента, то можно включить их как **необязательный параметр** и система все равно выполнит функцию.

Пример:\
Роль ИИ-агента "Записать клиента на услуги салона". Для вызова функции ему нужно спросить:\
Имя клиента, Название услуги, Номер телефона, Фамилия клиента, Отчество клиента.<br>

<figure><img src="https://2593311972-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fef2EBU68XAlye1NtG8DF%2Fuploads%2FAvE0EtoxwEhD8gB3aq64%2F%7B6F6D3F7C-34C9-475C-ACD7-BCBA69CD722B%7D.png?alt=media&#x26;token=6f7a36d2-9bf4-44c2-9991-93d9554892d5" alt=""><figcaption></figcaption></figure>

Теперь включим параметры Фамилия клиента, Отчество клиента, как **необязательный параметр.**<br>

<figure><img src="https://2593311972-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fef2EBU68XAlye1NtG8DF%2Fuploads%2FpGx1lWsIcC2tzNzgDP3I%2F%7BA8EF4A07-E04C-41EC-BCC6-C67BD5011173%7D.png?alt=media&#x26;token=7890c706-bd6c-4357-b54b-741d4e346526" alt=""><figcaption></figcaption></figure>

То есть параметры **Фамилия клиента**, **Отчество клиента** бот проигнорировал и успешно сохранил данные.\
Результат выполнения функции:<br>

<figure><img src="https://2593311972-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fef2EBU68XAlye1NtG8DF%2Fuploads%2F02GESybBjRo0VyYxrbY4%2F%7BBFEB1A01-FD0B-47E2-91BA-1E26F2C69196%7D.png?alt=media&#x26;token=f865d3b2-4766-4586-8409-4042fc2baaf8" alt=""><figcaption></figcaption></figure>

Если сделать Имя клиента и Номер телефона необязательными для записи на услуги салона, LLM всё равно будет запрашивать эту информацию. Это происходит потому, что в промпте указана конкретная роль ИИ-агента "Записать клиента на услуги салона" и тем самым подразумевается, что эти данные нужны для выполнения функции.
