Пайплайны
Пайплайны определяют, как документы обрабатываются при индексации и как выполняется поиск. Платформа использует визуальные пайплайны -- цепочки узлов обработки, каждый из которых выполняет конкретную операцию.
Типы пайплайнов
| Тип | Описание | Назначение |
|---|---|---|
| Ingestion | Пайплайн индексации | Определяет, как файлы парсятся, разбиваются на чанки, и сохраняются |
| Retrieval | Пайплайн поиска | Определяет, как выполняется поиск по базе знаний |
Для автоматизации обработки документов используйте расписания синхронизации, которые автоматически запускают пайплайны индексации с заданной периодичностью.
Пайплайны индексации
Default Ingestion Pipeline
При создании организации автоматически создаётся стандартный пайплайн индексации:
Start → S3 Source → Document Parser → Chunking → Embedding → Vector Store
Узлы пайплайна
S3 Source -- загрузка файла из S3-хранилища
- Использует учётные данные коннектора для доступа к файлу
- Передаёт содержимое файла на следующий узел
Document Parser -- извлечение текста из файла
- Автоматически определяет формат файла по расширению
- Поддерживаемые форматы: PDF, TXT, MD
- Для PDF извлекает текст из всех страниц
Chunking -- разбиение текста на фрагменты (чанки)
- Разбивает длинный текст на фрагменты оптимального размера
- Использует рекурсивное разбиение с учётом структуры текста
Параметры узла:
| Параметр | Описание | По умолчанию |
|---|---|---|
| chunk_size | Максимальный размер чанка (в символах) | 1000 |
| chunk_overlap | Перекрытие между соседними чанками (в символах) | 200 |
Разделители (в порядке приоритета): двойной перевод строки (\n\n), перевод строки (\n), точка с пробелом (. ), пробел ( ), пустая строка.
- Маленькие чанки (500-800 символов) -- точнее соответствуют запросу, но теряют контекст
- Средние чанки (1000-1500 символов) -- хороший баланс точности и контекста
- Большие чанки (2000+ символов) -- больше контекста, но менее точное соответствие
Для большинства сценариев рекомендуется размер 1000 символов с перекрытием 200.
Embedding -- создание числовых представлений (эмбеддингов)
- Преобразует текст каждого чанка в вектор фиксированной размерности
- Модель по умолчанию:
BAAI/bge-small-en-v1.5(384 измерения) - Обработка выполняется локально через FastEmbed (не требует API-ключей)
Параметры узла:
| Параметр | Описание | По умолчанию |
|---|---|---|
| model_name | Название модели эмбеддинга | BAAI/bge-small-en-v1.5 |
Vector Store -- сохранение эмбеддингов
- Записывает векторы в коллекцию Qdrant
- Сохраняет метаданные (ID источника, индекс чанка, текст)
- Коллекция изолирована на уровне организации
PDF Processing Pipeline
Предустановленный пайплайн, оптимизированный для PDF-документов:
Start → S3 Source → PDF Parser → Large Chunks → Embedding → Vector Store
Отличия от стандартного:
- chunk_size: 1500 (увеличен для таблиц и структурированного контента)
- chunk_overlap: 300
Пайплайны поиска
Default Retrieval Pipeline
Стандартный пайплайн поиска:
Start → Query Embedding → Vector Search → Reranker
Узлы пайплайна
Query Embedding -- преобразование запроса в вектор
- Использует ту же модель эмбеддинга, что и при индексации
- Специальный метод
query_embedоптимизирован для поисковых запросов
Vector Search -- поиск ближайших векторов
- Ищет наиболее похожие чанки в Qdrant по косинусному расстоянию
Параметры узла:
| Параметр | Описание | По умолчанию |
|---|---|---|
| limit | Максимальное количество результатов поиска | 25 |
| score_threshold | Минимальный порог релевантности (0 - 1.0) | 0.7 |
| collection_name | Имя Qdrant-коллекции (например, faq_chunks для FAQ) | коллекция организации по умолчанию |
| dedupe_by | Server-side группировка результатов по полю payload (например, faq_id) | -- |
| return_field | Поле payload, которое подменяет text в результате (например, answer для FAQ) | -- |
| filters | Pinned-фильтры по полям payload (например, category: ["payouts"]) | -- |
Параметры collection_name, dedupe_by, return_field и filters используются для построения retrieval-пайплайна для FAQ-базы знаний. Подробнее см. FAQ-база знаний.
Reranker -- переранжирование результатов
- Повторно оценивает найденные чанки для повышения точности
- Отбирает top-K наиболее релевантных
Параметры узла:
| Параметр | Описание | По умолчанию |
|---|---|---|
| top_k | Количество результатов после переранжирования | 10 |
Порог score_threshold определяет минимальное качество результатов:
- 0.5 -- широкий поиск, много результатов (могут быть нерелевантные)
- 0.7 -- сбалансированный поиск (рекомендуется)
- 0.9 -- строгий поиск, только очень точные совпадения
Управление пайплайнами
Список пайплайнов
На вкладке Пайплайны отображается таблица со всеми пайплайнами:
| Колонка | Описание |
|---|---|
| Name | Название пайплайна. Пайплайны по умолчанию помечены тегом "Default" |
| Тип | INGESTION (зелёный) или RETRIEVAL (фиолетовый) |
| Узлы | Количество узлов обработки |
| Статус | Active или Inactive |
| Версия | Номер версии (инкрементируется при обновлении) |
| Обновлено | Дата последнего обновления |
Создание пайплайна
- Нажмите Новый пайплайн и выберите тип:
- Ingestion Pipeline -- для обработки документов
- Retrieval Pipeline -- для настройки поиска
- Откроется визуальный редактор пайплайна
Визуальный редактор
Редактор пайплайна позволяет:
- Добавлять и удалять узлы обработки
- Настраивать параметры каждого узла
- Соединять узлы в цепочку обработки
- Просматривать типы входов/выходов каждого узла
Типы узлов
Узлы индексации
| Узел | Вход | Выход | Описание |
|---|---|---|---|
| S3 Source | -- | file_bytes | Загрузка файла из S3 |
| Document Parser | file_bytes | text | Извлечение текста |
| Chunking | text | chunks[] | Разбиение на фрагменты |
| FAQ Chunking | file_bytes | chunks[] | Парсинг FAQ JSON-датасета (см. FAQ-база знаний) |
| Embedding | chunks[] | embeddings[] | Создание эмбеддингов |
| Vector Store | embeddings[] | point_ids[] | Сохранение в Qdrant |
Узлы поиска
| Узел | Вход | Выход | Описание |
|---|---|---|---|
| Query Embedding | query_text | query_vector | Эмбеддинг запроса |
| Vector Search | query_vector | search_results[] | Поиск в Qdrant (поддерживает dedupe и фильтры — см. FAQ-база знаний) |
| Reranker | search_results[] | ranked_results[] | Переранжирование |
Дублирование пайплайна
Для создания пайплайна на основе существующего:
- Откройте контекстное меню пайплайна (правый клик)
- Выберите Duplicate
- Система создаст копию с суффиксом "(Copy)"
Удаление пайплайна
Пайплайны по умолчанию (Default) нельзя удалить. Пользовательские пайплайны можно удалить через контекстное меню.
При удалении пайплайна источники, которые на него ссылаются, начнут использовать пайплайн по умолчанию при следующей индексации.
Привязка пайплайна к источнику
При запуске индексации на вкладке Источники вы можете выбрать конкретный пайплайн:
- В правой панели Настройки индексации найдите поле Pipeline
- Выберите пайплайн из списка (пайплайн по умолчанию отмечен соответствующей пометкой)
- Запустите индексацию
Если пайплайн не выбран явно, используется пайплайн организации по умолчанию.