Задача: собрать корпоративную базу знаний из справки, FAQ, статей и материалов поддержки — и дать сотрудникам техподдержки и техпресейла помощника, который отвечает с опорой на эти документы, а не «из головы модели».
Готовый чат вроде OpenWebUI не подошёл: не хватало ролей, своего контура загрузки документов и разных способностей (поиск, вложения, сценарии трекера). Цель — рабочий контур «документы → индекс → ответ в рабочем UI», а не демонстрационный чат.
Собрал свой слой загрузки и индексации на Qdrant и чат поверх него. Затем расширил до Workspace-рантайма: запрос классифицируется и уходит в нужную способность — поиск по базе, вложения и OCR, сценарии трекера — вместо одного длинного промпта на все случаи.
Подключил YouTrack и RoboHelp как источники. Модель — локально (llama.cpp / Ollama / vLLM) или облако, если задаче так спокойнее.
Стек: Python, FastAPI, Celery, React, PostgreSQL, Redis, Qdrant, Docker.
Рабочий контур: документы попадают в индекс, сотрудник задаёт вопрос в UI и получает ответ с опорой на базу, а не «галлюцинацию с нуля». На скринах — showroom/demo без контура заказчика.
Роль: архитектура контура + постановка и ведение реализации (код в т.ч. с ИИ-агентом под управлением).