> For the complete documentation index, see [llms.txt](https://docs.jedidesk.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.jedidesk.com/nalashtuvannya-jedidesk-ai/ruchne-nalashtuvannya-funkciyi-poshuku-po-bazi-znan.md).

# Ручне налаштування функції пошуку по базі знань

## Функція пошуку по базі знань — search\_knowledge\_base

### Що це і навіщо потрібно

Функція `search_knowledge_base` — це інструмент, який дає вам повний контроль над тим, **як саме** АІ-асистент шукає інформацію у базі знань та на основі чого формує відповідь.

За замовчуванням АІ самостійно виконує пошук «під капотом» — без вашого втручання. Після активації функції цей процес стає прозорим і керованим: ви бачите, який запит надійшов до бази знань, що саме повернулося назад, і можете точно налаштувати логіку вибірки.

#### Ключові можливості

* **Контроль вибірки** — визначайте, як формується запит до бази знань і що передається АІ для генерації відповіді.
* **Додаткові інструкції** — дописуйте специфічні правила пошуку, мапінг категорій, пріоритети та інші параметри прямо у налаштуваннях функції.
* **Повні логи** — переглядайте кожен виклик: що запитував АІ, що повернула база знань, скільки часу зайняв запит.
* **Назва файлу у відповіді** — функція повертає `filename` знайденого документа, що дозволяє реалізовувати точний мапінг відповідей на конкретні файли бази знань.

***

### Як увімкнути функцію

> ⚠️ **Важливо:** За замовчуванням функція **вимкнена**. Поки вона не активована, АІ працює у штатному режимі — самостійно шукає по базі знань у фоні. Після активації АІ **перестає шукати самостійно** і використовує виключно те, що повертає функція, а також те, що прописано у основному промпті.

1. Відкрийте налаштування вашого АІ-асистента.
2. Перейдіть до розділу **Функції ШІ**.
3. Знайдіть функцію Пошук у базі знань **`search_knowledge_base`** і активуйте її (увімкніть перемикач).<br>

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

***

### Налаштування функції

Після активації натисніть на іконку налаштувань поруч із функцією. Відкриється вікно **«Налаштування функції: Пошук у базі знань»** з двома полями.<br>

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

#### Поле 1 — «Додаткова інструкція для пошуку»

У це поле вписуються додаткові правила, які АІ враховуватиме при формуванні пошукового запиту до бази знань. Тут можна:

* **Уточнити логіку формування запиту** — наприклад, вказати АІ завжди формувати повний запит із урахуванням контексту діалогу:

  ```
  Формуй повний запит, із врахуванням контексту
  ```

* **Додати інструкції по мапінгу** — якщо різні теми мають відповідати різним розділам або файлам бази знань, опишіть це тут.

  ```
  Якщо питання стосується тарифів або оплати — шукай лише у файлі site_price.txt.
  Якщо питання про доставку — шукай у файлі site_delivery.txt.
  Якщо питання про технічну підтримку — шукай у файлі site_faq.txt.
  ```

  &#x20;

* **Задати пріоритети** — наприклад, завжди шукати спочатку у певному розділі або використовувати конкретні ключові слова.

  ```
  Спочатку шукай у розділі FAQ. Якщо там немає відповіді — шукай у решті бази знань.
  Якщо питання містить слово "ціна", "тариф" або "вартість" — додай до запиту слово "прайс".
  Завжди включай у запит ключові слова з питання користувача без скорочень.
  ```

* **Скопіювати частину основного промпту** — будь-які правила, що стосуються пошуку по базі знань і вже є у вашому системному промпті, можна продублювати або перенести сюди для більш точного контролю.

  ```
  Формуй повний запит із урахуванням контексту діалогу.
  Не скорочуй запит до одного слова — передавай суть питання повністю.
  Відповідай лише на основі того, що повернула функція пошуку.
  ```

> 💡 **Порада:** Що детальніша інструкція — то точніший пошук. Однак уникайте суперечливих формулювань.

#### Поле 2 — «Відповідь, коли нічого не знайдено»

Текст, який АІ поверне користувачу, якщо пошук у базі знань не дав жодного результату. Наприклад:

```
З цим питанням вам допоможе служба підтримки.
```

Ви можете вказати будь-який текст: контакти підтримки, посилання на форму, або загальну фразу-заглушку.

#### Збереження налаштувань

Після внесення змін натисніть кнопку **«Зберегти зміни»**. Щоб закрити без збереження — **«Відмінити»**.

***

### Перегляд логів виклику функції

Кожен виклик функції `search_knowledge_base` фіксується у логах. Це дозволяє діагностувати проблеми, відстежувати ефективність пошуку та розуміти, що саме передається АІ.<br>

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

#### Як відкрити логи

1. У розділі **Функції** натисніть на іконку статистики (графік) поруч із `search_knowledge_base`.
2. Відкриється вікно **«Пошук у базі знань»** з журналом викликів.

#### Що відображається у логах

У верхній частині вікна — зведена статистика за вибраний період (7, 14 або 30 днів):

| Показник     | Опис                                          |
| ------------ | --------------------------------------------- |
| **Виклики**  | Загальна кількість звернень до функції        |
| **Успішні**  | Кількість успішно виконаних запитів           |
| **Помилки**  | Кількість викликів із помилкою                |
| **Сер. час** | Середній час відповіді функції у мілісекундах |

Нижче — таблиця з деталями кожного виклику:

| Колонка      | Опис                                         |
| ------------ | -------------------------------------------- |
| **Дата**     | Точна дата і час виклику                     |
| **Статус**   | `success` (успішно) або помилка              |
| **Сер. час** | Час виконання конкретного запиту             |
| **Діалог**   | Посилання на діалог, у якому відбувся виклик |

Щоб подивитися деталі конкретного виклику — натисніть на іконку ока праворуч у рядку.

***

### Детальний перегляд виклику (Input / Output)

При натисканні на іконку перегляду відкривається вікно **«Функція — search\_knowledge\_base»** з двома панелями.<br>

<figure><img src="/files/0SUBNbfkbp6g4DqSgaMC" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/btpAAq2gb1OYo0xkGqeq" alt="" width="563"><figcaption></figcaption></figure>

#### Input (що запитував АІ)

Відображає JSON-запит, який АІ сформував і передав функції. Зазвичай це об'єкт із полем `query`:

```json
{
  "query": "тарифи"
}
```

Тут ви бачите **точне формулювання** пошукового запиту — так, як його склав АІ на основі повідомлення користувача та ваших інструкцій.

#### Output (що повернула функція)

Відображає результат пошуку по базі знань — масив об'єктів, кожен з яких містить:

* **`score`** — релевантність знайденого фрагмента (від 0 до 1). Наприклад, `0.8388` означає дуже високу відповідність.
* **`content`** — текст фрагмента, що буде передано АІ для формування відповіді. Включає секцію, джерело (URL), заголовок та інформаційний блок.
* **`filename`** — назва файлу у базі знань, з якого взято фрагмент. Наприклад: `"site_1.txt"`.

Приклад структури output:

```json
{
  "score": 0.8388,
  "content": "[SECTION:Ціни | SOURCE:https://jedidesk.com/ua/price/]\nTITLE: Ціни та тарифи\nINFO: ...",
  "filename": "site_1.txt"
}
```

> 💡 **Про `filename` та мапінг:** Поле `filename` особливо корисне, якщо ви налаштовуєте мапінг — логіку, за якою певні питання мають завжди отримувати відповідь з конкретного документа. Знаючи назву файлу, можна прописати у інструкціях функції правила: «якщо відповідь із файлу `price.txt` — використовуй розділ X» тощо.

***

### Важлива різниця: увімкнена vs. вимкнена функція

| Стан                            | Поведінка АІ                                                                                                       |
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| **Вимкнена** (за замовчуванням) | АІ самостійно шукає по базі знань у фоні, без вашого контролю                                                      |
| **Увімкнена**                   | АІ НЕ шукає самостійно — відповідь формується лише на основі того, що повертає функція, та даних основного промпту |

> ⚠️ Якщо функція увімкнена, але поле «Додаткова інструкція» порожнє — АІ все одно використовуватиме лише результати функції. Тому після активації обов'язково перевірте, що інструкція для пошуку заповнена коректно.

***

### Типові сценарії використання

#### Сценарій 1 — Покращення точності пошуку

Якщо АІ знаходить нерелевантні фрагменти або «вигадує» відповіді, активуйте функцію і додайте інструкцію:

```
Формуй повний запит із урахуванням контексту попередніх повідомлень у діалозі. Не скорочуй запит до одного слова.
```

#### Сценарій 2 — Мапінг категорій питань на файли

Якщо ваша база знань організована по файлах (тарифи, технічна документація, FAQ тощо), опишіть у інструкції, яка тематика відповідає яким файлам:

```
При запитах про ціни та тарифи — шукай у файлах, що містять "price" у назві.
При технічних питаннях — пріоритет файлам з "tech" або "docs".
```

#### Сценарій 3 — Контроль «заглушки» при відсутності результату

Налаштуйте зрозумілу відповідь, якщо пошук нічого не знайшов:

```
На жаль, у базі знань немає інформації з цього питання. Зверніться до нашої служби підтримки: support@yourcompany.com або скористайтеся формою зворотного зв'язку на сайті.
```

***

### Поширені запитання

**Що буде, якщо я активую функцію без заповнення інструкцій?** АІ використовуватиме лише те, що повертає функція пошуку, і дані основного промпту. Якщо основний промпт не містить правил пошуку — якість відповідей може знизитися. Рекомендуємо завжди заповнювати поле додаткових інструкцій.

**Чи зміниться щось для вже активних чатів?** Ні. Поки функція вимкнена, жоден чат не змінить поведінку. Зміни набувають чинності лише після активації.

**Де подивитися, з якого файлу АІ взяв відповідь?** Відкрийте логи виклику функції → натисніть іконку ока у потрібному рядку → у панелі Output знайдіть поле `filename`.

**Чи можна одночасно використовувати search\_knowledge\_base і стандартний пошук АІ?** Ні. Після активації функції стандартний пошук вимикається повністю. Це два взаємовиключні режими.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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://docs.jedidesk.com/nalashtuvannya-jedidesk-ai/ruchne-nalashtuvannya-funkciyi-poshuku-po-bazi-znan.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.
