# Советы по работе и настройке таблиц

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

<figure><img src="/files/0UJACpQzTkC1hLwxbDPa" alt=""><figcaption></figcaption></figure>

Чекбокс **'Необязательный параметр'** критически важен — он позволяет ИИ-агенту исключать выбранные параметры из обработки при работе с таблицей.

***Пример:***\
Представим, что мы настраиваем ИИ-агента для компании по аренде строительной техники. Клиент спрашивает "какая техника есть в наличии?", не уточняя цену или другие детали.

**Как это работает в случае необязательных параметров:**\
Если параметры `name`, `price` и `is_available` помечены как **необязательные**, ИИ-агент сможет обрабатывать запрос, учитывая только параметр`is_available` (который получит из запроса).\
В этом случае система проигнорирует цену и названия техники, сосредоточившись исключительно на проверке наличия оборудования - именно то, что нужно клиенту.

<figure><img src="/files/efYE4ZYfHc1RvVVI43o2" alt=""><figcaption></figcaption></figure>

**Как это работает в случае обязательных параметров:**\
Когда параметры `name`, `price` и `is_available` указаны как обязательные, ИИ-агент будет **использовать их все** при запросе, даже если клиент спрашивает только о наличии техники. Поскольку в запросе не указаны конкретные модели и цены, система не сможет выполнить поиск только по полю `is_available` - это приведёт к неправильному результату (см.скриншот)

<figure><img src="/files/rCx8SoOb3nYJa3kBmzhI" alt=""><figcaption></figcaption></figure>

## <sup>Использование списка возможных значений для параметра</sup>

<figure><img src="/files/6KwnDiFKKTgOLOrk9wv0" alt=""><figcaption></figcaption></figure>

Данный параметр позволяет преобразовывать запрос клиента в листовые значения, добавленные в поля "Возможные значения".\
Иногда, чтобы облегчить и ускорить работу ИИ-агента, вы можете перечислить все варианты возможных значений, которые есть в вашей таблице (например, перечислить все типы бренды смартфонов, которые есть в продаже - Samsung, IPhone, Xiaomi, Huawei и т.д.).\
\
\&#xNAN;*Пример (см.скриншот):* клиент хочет узнать какая техника есть в наличии. В случае заполненных листовых значений (`true`, `false`), ИИ-агент преобразует запрос клиента в аргумент `true`и проверит доступную технику.

<figure><img src="/files/lb5mQlqMxqgjPSduom8x" alt=""><figcaption></figcaption></figure>

*Негативный пример (см.скриншот):* клиент задаёт тот же вопрос про наличие техники. В случае когда листовые значения отключены, ИИ-агент не сможет преобразовать запрос клиента в аргумент `true`и проверить доступную технику, что в итоге приведёт к неправильной работе проверки в таблице.

<figure><img src="/files/pqAfzcoJ2uDjtWaP7RuP" alt=""><figcaption><p>Негативный пример</p></figcaption></figure>

## Выбор полей для поиска

<figure><img src="/files/Qvmx9iLiGWUUZrBlhr6U" alt=""><figcaption></figcaption></figure>

В этой части мы разберём подробнее про поля для поиска — для чего они необходимы, как их настраивать, какие параметры выбирать.

### **Поле в таблице**

В данном параметре вы можете определить по какому из полей будет вестись поиск в таблице.\
Для вашего удобства вы можете увидеть не только название поля, но и его тип. В нашем случае это `text_vector.`

<figure><img src="/files/BPr06lXTWUksXLHP0JZJ" alt=""><figcaption></figcaption></figure>

### **Оператор:**

<figure><img src="/files/9hEfCWtVcu7qR3DORXV2" alt=""><figcaption></figcaption></figure>

Параметр "оператор" позволяет выбрать тип сравнения поля в таблице с параметром функции.\
\&#xNAN;*Пример 1:* при операторе "Равно" и запросе клиента "Какой телефон у вас стоит ровно 5000 рублей", оператор сравнит цену ₽5000 c прайс-листом из таблицы.

<figure><img src="/files/i28ivXFmYPDLPoodyd4M" alt=""><figcaption><p>Пример 1</p></figcaption></figure>

*Пример 2:* при операторе "больше" или "меньше" (не работает с полем типа text\_vector) и запросе клиента "какая техника у вас стоит дешевле 5000 рублей?", оператор сравнит цену ₽5000 c прайс-листом из таблицы и покажет все, которые стоят дешевле или дороже.

<figure><img src="/files/TZIV5k27NPLkWE21zfZX" alt=""><figcaption><p>Пример 2</p></figcaption></figure>

### **Источник значения**

<div data-full-width="true"><figure><img src="/files/6NAS9aDgPYbYrqSG6BtJ" alt=""><figcaption></figcaption></figure></div>

**"Источник значения"** позволяет выбрать **"статическое"** или **"получаемое"** значение для поиска по таблице. Это полезная настройка для строгого определения параметра функции, который вы хотите использовать для поиска в таблице.\
Чаще всего, мы рекомендуем использовать именно вариант **"значение из параметра функции"**, поскольку "статическое значение" требует тонкой настройки и при неправильном использовании может приводить к ошибкам.

*Пример 1*: клиент спрашивает ИИ-агента, какие телефоны есть в продаже за 10.000 рублей.\
В случае, когда **параметр функции установлен на price (значение из параметра функции)**, именно это запрошенное клиентом значение в 10.000 рублей будет получено функцией и использовано для поиска по таблице.

Данная опция выбирает конкретный параметр функции для сравнения его с таблицей (только если "источника значения" выбран как "значение из параметра функции").

<figure><img src="/files/Qp2QZaopCgrD7hqMMKrL" alt=""><figcaption><p>Пример 1</p></figcaption></figure>

*Пример 2:* клиент спрашивает ИИ-агента, какие телефоны есть в продаже в городе Самара.\
В случае, когда точно настроена функция, источник выбран как **"статическое значение"** и заполнен как "**Поволжье**", именно это значение будет использоваться для поиска по таблице. Таким образом, список телефонов будет отфильтрован только для конкретной области.

<figure><img src="/files/q3dro6uoZIR4T9kHRthE" alt=""><figcaption><p>Пример 2</p></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.nextbot.ru/functional/knowledge-base/tablicy/sovety-po-rabote-i-nastroike-tablic.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
