RAG-база знаний для техподдержки B2B SaaS

Внутренний поиск по Notion/Confluence/PDF: черновик ответа с цитатой, без выдумок.

Стек FastAPI, pgvector, Python, RAG

Клиент — B2B SaaS-платформа в сфере логистики и учёта заявок. Команда поддержки из восьми человек; база знаний разбросана по Notion, Confluence, Google Drive и PDF. Операторы тратили 20–40 минут на поиск ответа.

Задача: единый поиск по документам с ответом строго из проверенных источников — без «выдумок» в сторону клиента. Решение для внутреннего саппорта, не публичный чат на сайте.

  • ETL-пайплайн: PDF, HTML, Markdown, Confluence/Notion — cron и webhook;
  • чанкинг с заголовками и таблицами, метаданные версии документа;
  • embeddings, PostgreSQL + pgvector, rerank перед генерацией;
  • API FastAPI (/ask, /reindex, /feedback), JWT для операторов;
  • виджет: черновик, цитаты, ссылка на источник, оценка «полезно / не то»;
  • эскалация чувствительных тем человеку; алерт в Telegram, если индекс завис.

Стек: Python 3.11, LangChain, FastAPI, PostgreSQL, pgvector, Redis, Docker Compose, VPS. Документация: как добавить источник и пересобрать индекс.

Итог: черновик за 10–30 секунд вместо 20–40 минут; ~70% обращений закрывались с правкой одного–двух предложений. NDA: продукт не публикуется.