> For the complete documentation index, see [llms.txt](https://docs.onerpa.ru/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.onerpa.ru/ai-platforma-oneapa/obrabotki/vygruzka-v-vektornuyu-bd.md).

# Выгрузка в векторную БД

Обработка `APA_ВыгрузкаВВекторнуюБД` предназначена для выгрузки данных в векторную базу данных для использования в RAG.

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

## Назначение

RAG (Retrieval-Augmented Generation) позволяет агентам использовать внутренние базы знаний:

* Документация компании
* Регламенты и инструкции
* Базы знаний
* Справочные данные

## Принцип работы RAG

```
┌─────────────────┐         ┌─────────────────┐
│  Вопрос         │         │  Векторная БД   │
│  пользователя   │────────►│  (знания)       │
└─────────────────┘         └────────┬────────┘
                                     │
                            релевантные документы
                                     │
                                     ▼
                            ┌─────────────────┐
                            │      LLM        │
                            │  (генерация     │
                            │   ответа)       │
                            └─────────────────┘
```

## Интерфейс обработки

```
┌─────────────────────────────────────────────────────────────────────────┐
│  Выгрузка в векторную БД                               [—][□][×]        │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│  Параметры подключения:                                                  │
│  ┌────────────────────────────────────────────────────────────────────┐ │
│  │ Адрес БД:    [http://localhost:8000                            ]   │ │
│  │ Коллекция:   [company_docs                                     ]   │ │
│  └────────────────────────────────────────────────────────────────────┘ │
│                                                                          │
│  Источник данных:                                                        │
│  ┌────────────────────────────────────────────────────────────────────┐ │
│  │ ○ Справочник                                                       │ │
│  │ ○ Документ                                                         │ │
│  │ ● Произвольный запрос                                              │ │
│  │                                                                     │ │
│  │ Код запроса:                                                        │ │
│  │ ┌────────────────────────────────────────────────────────────────┐ │ │
│  │ │ ВЫБРАТЬ Наименование, Содержимое                               │ │ │
│  │ │ ИЗ Справочник.БазаЗнаний                                       │ │ │
│  │ └────────────────────────────────────────────────────────────────┘ │ │
│  └────────────────────────────────────────────────────────────────────┘ │
│                                                                          │
│  Опции:                                                                  │
│  ┌────────────────────────────────────────────────────────────────────┐ │
│  │ ☐ Очистить коллекцию перед загрузкой                               │ │
│  │ ☑ Показывать прогресс                                              │ │
│  └────────────────────────────────────────────────────────────────────┘ │
│                                                                          │
│                                              [Выгрузить]  [Закрыть]     │
└─────────────────────────────────────────────────────────────────────────┘
```

## Реквизиты обработки

| Реквизит              | Тип    | Описание                      |
| --------------------- | ------ | ----------------------------- |
| **АдресБД**           | Строка | URL векторной базы данных     |
| **Коллекция**         | Строка | Имя коллекции в БД            |
| **СвойКод**           | Строка | Код запроса для выбора данных |
| **ОчиститьКоллекцию** | Булево | Удалить существующие данные   |

## Выгрузка данных

### Шаг 1: Настройка подключения

Укажите адрес векторной БД:

| БД       | Пример адреса             |
| -------- | ------------------------- |
| Chroma   | <http://localhost:8000>   |
| Milvus   | <http://localhost:19530>  |
| Pinecone | <https://xxx.pinecone.io> |
| Qdrant   | <http://localhost:6333>   |

### Шаг 2: Выбор коллекции

Укажите имя коллекции:

* `company_docs` — документация компании
* `regulations` — регламенты
* `faq` — часто задаваемые вопросы

### Шаг 3: Определение источника данных

Напишите запрос для выбора данных:

```sql
ВЫБРАТЬ
    Наименование КАК Заголовок,
    Содержимое КАК Текст,
    Код КАК ID
ИЗ
    Справочник.БазаЗнаний
ГДЕ
    НЕ ПометкаУдаления
```

### Шаг 4: Выгрузка

Нажмите "Выгрузить" и дождитесь завершения.

## Примеры запросов

### Выгрузка справочника

```sql
ВЫБРАТЬ
    Наименование,
    Описание
ИЗ
    Справочник.Номенклатура
ГДЕ
    НЕ ПометкаУдаления
```

### Выгрузка документов

```sql
ВЫБРАТЬ
    Номер,
    Дата,
    Комментарий
ИЗ
    Документ.ЗаказКлиента
ГДЕ
    Дата >= &НачалоПериода
```

### Выгрузка регистра

```sql
ВЫБРАТЬ
    Вопрос,
    Ответ,
    Категория.Наименование КАК Категория
ИЗ
    РегистрСведений.ЧастыеВопросы
```

## Использование в агентах

### Создание инструмента RAG

1. Создайте инструмент "Поиск в базе знаний"
2. В коде инструмента вызовите модуль `APA_RAG`:

```bsl
// Инструмент: Поиск в базе знаний
// Параметр: Запрос (string)

ЗапросПользователя = Параметры.Запрос;

// Поиск в векторной БД
Результаты = APA_RAG.НайтиДокументы(
    "http://localhost:8000",
    "company_docs",
    ЗапросПользователя,
    5  // количество результатов
);

Возврат Результаты;
```

### Пример диалога с RAG

```
Пользователь: Какова процедура оформления командировки?

Агент:
📊 Поиск в базе знаний...

Согласно внутреннему регламенту компании (документ "Положение о 
командировках" от 01.01.2025), процедура оформления включает:

1. Заполнение заявки на командировку в системе
2. Согласование с непосредственным руководителем
3. Утверждение в отделе кадров
4. Оформление приказа и командировочного удостоверения
5. Получение аванса в бухгалтерии

Срок оформления: не позднее 3 рабочих дней до даты выезда.
```

## Поддерживаемые векторные БД

| База данных  | Описание               | URL          |
| ------------ | ---------------------- | ------------ |
| **Chroma**   | Простая, open-source   | chromadb.com |
| **Milvus**   | Масштабируемая         | milvus.io    |
| **Pinecone** | Облачная               | pinecone.io  |
| **Qdrant**   | Высокопроизводительная | qdrant.tech  |
| **Weaviate** | С AI-интеграциями      | weaviate.io  |

## Рекомендации

### Подготовка данных

* Очищайте текст от HTML-тегов и спецсимволов
* Разбивайте длинные документы на фрагменты
* Добавляйте метаданные (категория, дата, автор)

### Размер фрагментов

| Тип документа | Рекомендуемый размер |
| ------------- | -------------------- |
| FAQ           | 200-500 символов     |
| Инструкции    | 500-1000 символов    |
| Регламенты    | 1000-2000 символов   |

### Обновление данных

* Настройте регулярную выгрузку
* Используйте инкрементальное обновление
* Очищайте устаревшие данные

## Устранение проблем

### Ошибка подключения к БД

1. Проверьте URL базы данных
2. Убедитесь, что БД запущена
3. Проверьте firewall

### Медленная выгрузка

1. Уменьшите объём данных
2. Оптимизируйте запрос
3. Увеличьте ресурсы сервера БД

### Плохое качество поиска

1. Улучшите качество текстов
2. Настройте параметры эмбеддингов
3. Увеличьте количество возвращаемых результатов

## Далее

{% content-ref url="/pages/Vzntrhm2qhWmu91muHGP" %}
[Экспорт/импорт агентов](/ai-platforma-oneapa/obrabotki/eksport-import-agentov.md)
{% endcontent-ref %}
