Skip to content

Данные из Confluence¤

Описание проблемы¤

Дедлайн

08.12.2025

На текущий момент имеется необходимость получить данные из Confluence, - 1,5 гига, 3500 страниц, 1700 файлов и текстовых, и графических. Прогнать данные через ембеддер и положить вектора с метаданными в векторную базу данных.

Список известных проблем:

  • Нет прямого сетевого доступа к Confluence
  • Есть графический контент, который требует распознавания и векторизации
  • Не выбран ембеддер для векторизации
  • Не выбрана векторная база данных

Проблема с сетевым доступом¤

Проблема

Нет прямого сетевого доступа к Confluence

Проблема имеет несколько решений:

  1. Дадут сетевой доступ к Confluence из тестового кубера
  2. Нам выгрузят данные из 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, который будет выгружать данные сразу в векторную БД. Результат покажу в этом блокноте 📒, пока что там ничего нет.