Как работает чат
Путь сообщения школьника от браузера до нейросети и обратно, шаг за шагом.
Диалог с ассистентом — главный сквозной сценарий платформы. Он проходит через оба сервера и все ключевые компоненты.
Последовательность
Ключевые точки
Фильтрация и права
WAF отсекает атаки по форме запроса. Go проверяет роль и владение сессией — RBAC работает после WAF, на уровне приложения.
Кэш до нейросети
Redis хранит ответы LLM по хэшу нормализованного запроса. Попадание — ответ мгновенно, GPU не тратится.
Обезличивание на границе
Наружу уходят только session_id, anonymous_user_id, messages,
scenario. Ни ФИО, ни контактов — проверяется до каждого вызова /v1/chat.
RAG на NEURO CORE
Embedding → поиск в Qdrant → rerank → генерация. Весь пайплайн — на одном сервере, рядом с данными. Детали — в RAG-пайплайне.
Стриминг до браузера
Ответ идёт токенами через /v1/chat → Go → WebSocket → React. Никто по пути
не буферизует ответ целиком. Детали — в Realtime.
Деградация
NEURO CORE недоступен → портал продолжает работать без чата. Курсы,
опросы и кабинеты не зависят от GPU-сервера. Go определяет доступность через
GET /v1/health и включает circuit breaker.