# Руководство по работе с базой знаний (RAG)

[![Pasted image 20250905130654.png](https://docs.metabot24.ru/uploads/images/gallery/2025-09/scaled-1680-/iOW7m7G4AvWW97IT-pasted-image-20250905130654.png)](https://docs.metabot24.ru/uploads/images/gallery/2025-09/iOW7m7G4AvWW97IT-pasted-image-20250905130654.png)

## Структура таблицы базы знаний

Представьте базу знаний как умный склад информации. Когда нужно полностью "перезагрузить" этот склад, мы поступаем просто:

1. **Полная очистка базы знаний**: удаляем старую таблицу и создаём точно такую же заново
    
    
    - Это как снести старый склад и построить новый по тому же чертежу
    - Гарантирует, что не останется "мусора" от предыдущих данных
2. **Размер вектора (embedding)**: может изменяться в зависимости от выбранного алгоритма векторизации
    
    
    - Вектор — это числовое представление смысла текста
    - Разные алгоритмы создают векторы разной длины (как разные форматы фотографий)

[![Pasted image 20250905110051.png](https://docs.metabot24.ru/uploads/images/gallery/2025-09/scaled-1680-/LJexAaaowKvn5Rke-pasted-image-20250905110051.png)](https://docs.metabot24.ru/uploads/images/gallery/2025-09/LJexAaaowKvn5Rke-pasted-image-20250905110051.png)

## Создание компонента базы знаний

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

Думайте о компоненте как о "визитной карточке" вашей базы знаний:

[![Pasted image 20250905110046.png](https://docs.metabot24.ru/uploads/images/gallery/2025-09/scaled-1680-/6CVE3nrhOxQ1tg8R-pasted-image-20250905110046.png)](https://docs.metabot24.ru/uploads/images/gallery/2025-09/6CVE3nrhOxQ1tg8R-pasted-image-20250905110046.png)

После создания в атрибутах появится компонент с описанием базы знаний:

[![Pasted image 20250905110029.png](https://docs.metabot24.ru/uploads/images/gallery/2025-09/scaled-1680-/rKd4HJuWLycuHFST-pasted-image-20250905110029.png)](https://docs.metabot24.ru/uploads/images/gallery/2025-09/rKd4HJuWLycuHFST-pasted-image-20250905110029.png)

## Подготовка текстового файла

Перед загрузкой файл нужно правильно "подписать" — добавить служебную информацию в начало:

[![Pasted image 20250905110023.png](https://docs.metabot24.ru/uploads/images/gallery/2025-09/scaled-1680-/nhxSQUJIQuxQHFdr-pasted-image-20250905110023.png)](https://docs.metabot24.ru/uploads/images/gallery/2025-09/nhxSQUJIQuxQHFdr-pasted-image-20250905110023.png)

[![Pasted image 20250905110020.png](https://docs.metabot24.ru/uploads/images/gallery/2025-09/scaled-1680-/FUiW9UNCQuEs4Pdy-pasted-image-20250905110020.png)](https://docs.metabot24.ru/uploads/images/gallery/2025-09/FUiW9UNCQuEs4Pdy-pasted-image-20250905110020.png)

**Обязательная служебная строка** в начале файла:

```
{{Domain: METABOT33}}{{Table: gpt_knowledge_base}}{{chunk_size: 250}}{{chunk_overlap: 160}}

```

Эта строка работает как "инструкция по применению":

- `Domain` — область применения (как адрес склада)
- `Table` — название таблицы (как название полки на складе)
- `chunk_size` — размер кусочка текста для обработки (250 символов)
- `chunk_overlap` — перекрытие между кусочками (160 символов для связности)

[![Pasted image 20250905110015.png](https://docs.metabot24.ru/uploads/images/gallery/2025-09/scaled-1680-/JAA9sD4YvgT2ThhP-pasted-image-20250905110015.png)](https://docs.metabot24.ru/uploads/images/gallery/2025-09/JAA9sD4YvgT2ThhP-pasted-image-20250905110015.png)

## Загрузка и векторизация

Процесс состоит из двух этапов:

### Этап 1: Загрузка файла

### [![Pasted image 20250905105957.png](https://docs.metabot24.ru/uploads/images/gallery/2025-09/54nyEorsnUZhJCfa-pasted-image-20250905105957.png)](https://docs.metabot24.ru/uploads/images/gallery/2025-09/aOX3wCKoAsQkxUDr-pasted-image-20250905105950.png)

[![Pasted image 20250905105955.png](https://docs.metabot24.ru/uploads/images/gallery/2025-09/scaled-1680-/TTmPNzGYTrS3Sn9h-pasted-image-20250905105955.png)](https://docs.metabot24.ru/uploads/images/gallery/2025-09/TTmPNzGYTrS3Sn9h-pasted-image-20250905105955.png)

Система принимает подготовленный файл и сохраняет его содержимое.

[![Pasted image 20250905105950.png](https://docs.metabot24.ru/uploads/images/gallery/2025-09/scaled-1680-/OMg4FZdUwL7lt7AQ-pasted-image-20250905105950.png)](https://docs.metabot24.ru/uploads/images/gallery/2025-09/OMg4FZdUwL7lt7AQ-pasted-image-20250905105950.png)

### Этап 2: Векторизация

[![Pasted image 20250905105946.png](https://docs.metabot24.ru/uploads/images/gallery/2025-09/scaled-1680-/J0osuxLxDxtd9k3c-pasted-image-20250905105946.png)](https://docs.metabot24.ru/uploads/images/gallery/2025-09/J0osuxLxDxtd9k3c-pasted-image-20250905105946.png)

Система превращает текст в числовые векторы для быстрого поиска по смыслу.

**Важно**: сохраните имя `defKnowBase` — оно понадобится в конфигурации в параметре `kbName`.

---

*Совет*: процесс загрузки и векторизации похож на работу переводчика — сначала он читает текст (загрузка), потом переводит его на "язык чисел" (векторизация), чтобы компьютер мог быстро найти нужную информацию по смыслу, а не только по точным словам.