База знаний для RAG не обязана жить в одной системе. Часто нужный контент уже есть: в Confluence, Notion, в репозиториях, в Google Docs. Задача — собрать его в единый индекс с сохранением структуры и метаданных.
Каждому источнику в индексе задают поле origin: confluence, git, upload — чтобы фильтровать выдачу и отладку.
Типы источников
Вики и документация: Confluence, Notion, GitLab Wiki — страницы, иерархия, версии. Код и конфиги: репозитории Git — README, примеры, комментарии. Документы: PDF, DOCX, экспорт из облачных редакторов. Каждый источник требует своего коннектора и правил извлечения текста.
Confluence
API Confluence позволяет выгружать страницы по пространству, фильтру, дереву. Экспорт в HTML или чистый текст; разметка заголовков и списков сохраняется для чанкинга. Инкрементальная синхронизация по дате обновления снижает нагрузку при регулярном обновлении индекса.
Notion
Notion API даёт доступ к блокам и страницам. Экспорт в Markdown или текст; учёт вложенной структуры улучшает качество чанков. Ограничения по rate limit и объёму — учитывать при больших базах.
Git
Репозитории: клонирование или API (GitHub, GitLab). Извлечение: README, .md, .rst, конфиги, при необходимости — фрагменты кода с контекстом. Метаданные: путь, репозиторий, ветка, коммит. Фильтр по расширениям и путям отсекает шум.
Единый индекс
Все источники приводятся к общему формату: текст, метаданные (источник, тип, дата, ссылка). Чанкинг и эмбеддинги — единый пайплайн. В векторной БД хранятся payload с источником для фильтрации и отображения ссылок в ответе. Регулярное обновление индекса — по расписанию или по вебхукам — держит базу знаний актуальной.
Форматы документов и приоритет индексации
| Формат | Что извлекать | Приоритет для RAG |
|---|---|---|
| Markdown, .md | Заголовки, параграфы, списки, код | Высокий — структура удобна для чанкинга |
| HTML (Confluence, вики) | Текст без разметки или с заголовками | Высокий — основной корпус документации |
| PDF, DOCX | Текст по страницам/разделам | Средний — возможны потери структуры |
| README, код (репо) | README, комментарии, docstring | Высокий для справки; код — выборочно |
| Таблицы, CSV | Заголовки столбцов + строки как контекст | Средний — лучше для точного поиска по полям |
Сначала индексируйте структурированные тексты (Markdown, вики); затем PDF и документы; код и таблицы — по необходимости, с фильтрами по путям и расширениям.
Практики применения
- Подключите Confluence, Notion или Git через коннекторы; задайте единый формат метаданных и payload.
- Настройте инкрементальную синхронизацию или вебхуки; ревизия актуальности — по расписанию.
Кратко: Confluence, Notion, Git — коннекторы и извлечение текста; единый формат и payload для фильтрации; инкрементальная синхронизация и вебхуки для актуальности.