Данные из Confluence¤
Описание проблемы¤
Дедлайн
08.12.2025
На текущий момент имеется необходимость получить данные из Confluence, - 1,5 гига, 3500 страниц, 1700 файлов и текстовых, и графических. Прогнать данные через ембеддер и положить вектора с метаданными в векторную базу данных.
Список известных проблем:
- Нет прямого сетевого доступа к Confluence
- Есть графический контент, который требует распознавания и векторизации
- Не выбран ембеддер для векторизации
- Не выбрана векторная база данных
Проблема с сетевым доступом¤
Проблема
Нет прямого сетевого доступа к Confluence
Проблема имеет несколько решений:
- Дадут сетевой доступ к Confluence из тестового кубера
- Нам выгрузят данные из Confluence
Я вижу решение с предоставлением сетевого доступа приритетным. Это связано с тем, что есть готовый лоадер для Confluence, который работает через API: ConfluenceLoader. В этом случае нам ничего не придётся делать, всё уже написано. В langchain есть и другие лоадеры, которые могут получить текст из выгруженных аттач-файлов. А также именно на langchain и будет в конечном итоге написан пайплайн выгрзуки данных из Confluence, векторизацией его и сохранением в векторную БД. То есть всё написано и задача сводится к правильным аргументам классов langchain.
В случае, если нам дадут "какую-то" выгрузку, то придётся проделать работу по парсингу того, что выгрузили. При этом заново придётся формировать метаинформацию связанных документов. В условиях жёсткого дедлайна это выглядит бесполезной потерей времени.
Решение
Сетевой доступ уже есть. Из тестового кубера виден кофлюенс. Проблемы нет.
Проблема с графическим контентом¤
Проблема
Есть графический контент, который требует распознавания и векторизации
Вопрос в проработке. Кроме ссылки на HunyuanOCR от Игоря, пока-что ничего больше нет.
Решение
В загрузчике данных из Confluence от langchain_community уже реализовано распознавание текста из
изображений на базе Tesseract. Проблемы нет.
Проблема с выбором ембеддера¤
Проблема
Не выбран ембеддер для векторизации
На мощностях Сибура развёрнут EmbeddingsGigaR воместо с LLM моделью GigaChat. Обе модели доступны в тестовой и продуктовой среде. Я настаиваю на том, чтобы использовать его. У коллег есть беспокойства о том, что эмбеддер будет отнимать слишком много ресурсов у GigaChat.
Проблема с выбором векторной базы данных¤
Проблема
Не выбрана векторная база данных
Посоветовался с Антоном, решили взять Qdrant. Я бы выбрал Milvus, но у Антона есть опасения, то он окажется слишком сложен в настройках и эксплуатации. Сошлись на том, что Qdrant вполне подходит для OWU, как решение попроще, как решение с которым будет больше шансов уложиться в сроки. Milvus будет актуален при выборе решения для RAG-слоя.
Решение
Выбран Qdrant
Получение данных из Confluence¤
Итак, в langchain_community есть готовые загрузчики, в том числе и загрузчик данных из Confluence.
Большая часть моей работы за последние дни заключалась в том, чтобы обеспечить работу всех загрузчиков,
установив все необходимые зависимости в докер-контейнере. Как на данный момент работает выгрузка из Confluence
через апи, можно посмотреть в блокноте .
По итогу могу сказать, что ничего своего писать не надо. В основном всё работает из коробки. Кое-что ещё требует донастройки.
Есть загрузчики, которые явно можно улучшить, например в Docx2txtLoader добавить лоигку, которая отправляла бы прикреплённые
изображения в tesseract, который уже используется для распознавания текста с изображений, полученных из Confluence. Скорее всего
кто-то уже написал, осталось найти. Сильно это на векторный поиск по содержимому страниц из Confluence не повлияет.
Pipeline через API¤
Следующий на очереди, это создание pipeline, который будет выгружать данные сразу в векторную БД. Результат покажу
в этом блокноте , пока что там ничего нет.