Архитектура
Раздел с EDD описанием системы помощи в принятии решений врачам на базе RAG + LLM.
Страницы
Технологический стек
| Слой | Решение | Назначение |
|---|---|---|
| API-слой | FastAPI (Python) | Аутентификация ролей, валидация запросов, оркестрация RAG-конвейера |
| Поиск | OpenSearch | Гибридный поиск (BM25 + вектора) по корпусу медицинских документов |
| Модели | LiteLLM + vLLM | Унифицированный слой: локальные модели (on-premise) и облачные LLM-провайдеры |
| Брокер сообщений | Kafka / NATS (выбор не финализирован, ADR-0006) | Асинхронные потоки: индексация, генерация эмбеддингов, будущая телеметрия |
| Frontend | React | Единый UI для двух ролей — врача и пациента |
| Данные | Open data США и Европы | Истории болезней, справочники по медикаментам, клинические рекомендации |
| Web-поиск | Web Search API | Актуальная информация сверх статичного корпуса |
Направления развития
- 📱 Телеметрия медицинских устройств — поток данных мониторинга как источник контекста (запланировано, ADR-0009)
- 🔄 Глубокая кастомизация RAG-конвейера под специализацию врача
- 🛡️ Расширение контроля источников и приватности данных
Ключевые решения
| ADR | Решение | Статус |
|---|---|---|
| ADR-0001 | RAG как основа генерации ответов | Принято |
| ADR-0002 | Hybrid-поиск в OpenSearch | Принято |
| ADR-0003 | Стэк LLM: LiteLLM + vLLM | Принято |
| ADR-0004 | FastAPI как backend-фреймворк | Принято |
| ADR-0005 | React как frontend | Принято |
| ADR-0006 | Брокер: Kafka или NATS | Предложено |
| ADR-0007 | Данные из открытых источников США и Европы | Принято |
| ADR-0008 | Загрузка результатов анализов пациентами | Принято |
| ADR-0009 | Телеметрия медицинских устройств | Предложено |