
Превратить MVP-бота в полноценный корпоративный AI-ассистент для Mattermost
Реализовать AI-поиск по базе Confluence с точными и релевантными ответами
Обеспечить автономное обновление и поддержку базы знаний
Настроить стабильную и безопасную работу системы в production-среде
Мы построили RAG-систему (это технология, которая позволяет нейросети находить точную информацию во внешней базе знаний перед генерацией ответа), которая умеет находить нужную информацию в документах перед генерацией ответа.

Внедрили умную маршрутизацию: вопросы автоматически уходят в нужную коллекцию (строгие регламенты или общая база знаний)
Написали с нуля парсер Confluence Storage Format для поддержки таблиц и макросов, а также умный чанкер для разбивки текста по смысловым абзацам
Добавили health-эндпоинт (это специальная ссылка в приложении, которая создана исключительно для проверки работоспособности бота) для мониторинга состояния базы Qdrant
Улучшили промпты: бот пишет без «воды», встраивает ссылки прямо в текст и убирает дублирующиеся источники
Настроили работу бота в личных сообщениях с поддержкой имени «Confluence» и текущей даты по МСК
Настроили ежедневную переиндексацию с API-эндпоинтом для ручного обновления базы
Обеспечили стабильное соединение с Mattermost за счет кастомного решения с автоподключением при обрывах связи
Покрыли автотестами парсер и чанкер (это компонент, который делит длинный текст на удобные смысловые фрагменты) для повышения надежности кода
Сделали систему полностью управляемой через .env-файлы и готовой к развертыванию в Docker
Настроили онбординг: при первом запуске бот предлагает реальные темы из базы знаний, используя функцию быстрого поиска Qdrant

В процессе разработки мы столкнулись с нестандартной разметкой Confluence, которая содержала сотни макросов и требовала особого подхода к парсингу
Пришлось долго искать баланс размера фрагментов текста (чанков): мелкие куски теряли контекст, а крупные снижали точность поиска
Потребовалось несколько итераций промпт-инжиниринга для стабильного встраивания ссылок и немало усилий для поддержания надежного WebSocket-соединения в production-среде


Backend: Python, FastAPI, asyncio
БД: Qdrant
Модели: Mistral Large (генерация) и Mistral Embed (эмбеддинги)
Интеграции: Mattermost (python-mattermost-driver) и Confluence REST API
Парсинг и инфраструктура: BeautifulSoup4, Docker, docker-compose
Надежность: библиотека Tenacity для логики повторных попыток (retry)

Бот выдает точные ответы по регламентам, опираясь исключительно на релевантную документацию
Система стала автономной: данные обновляются сами, ошибки логируются, а состояние отслеживается автоматически
Пользователи получают хорошо структурированный текст с кликабельными ссылками — без лишней информации и длинных списков в конце
Проект полностью готов к масштабированию на другие отделы без изменения исходного кода

Сэкономили время сотрудников на поиске информации в Confluence
Снизили нагрузку на профильных специалистов и внутреннюю поддержку
Ускорили доступ к актуальным регламентам и внутренним процессам
Повысили качество и единообразие работы с корпоративной документацией
Автоматизировали обновление и переиндексацию базы знаний
Подготовили масштабируемую основу для новых AI-проектов компании