Files
RAG_helper/README.md
T
AR 15 M4 d1e7749605 docs: init — README и SPRINTS для инструмента настройки пациентского чат-агента
Скоуп MVP: RAG-ядро + веб-инструмент настройки (загрузка wiki, песочница,
промпт/правила с версиями, сценарии, экспорт конфига). Интеграцию с каналами
(приложение, МАКС) делает другой разработчик.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 13:58:53 +05:00

96 lines
6.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Chat Agent for Patients (RAG) — инструмент настройки
**RAG-ядро + веб-инструмент для настройки пациентского чат-агента: загрузка wiki, редактирование промпта и правил, прогон сценариев.**
Подключение реальных каналов (чат в мобильном приложении, бот в МАКС) делает другой разработчик — этот проект отдаёт ему **готовое RAG-ядро и API** плюс согласованную конфигурацию (системный промпт, правила, снапшот базы знаний).
---
## Статус
🟡 **Active — MVP, проектирование.**
---
## Цель проекта
- Поднять RAG по wiki операторов и API диалога с агентом.
- Дать операторам веб-инструмент, в котором они в процессе настройки:
- загружают документы wiki (постепенно, по мере готовности — не пакетно);
- редактируют системный промпт и правила поведения агента;
- играют роль пациента в тестовом чате и смотрят, что отвечает агент;
- сохраняют проработанные диалоги как **сценарии** и перегоняют их после изменения настроек.
- Сама интеграция с реальными каналами (приложение, МАКС) — вне скоупа этого проекта.
---
## Что **не** входит в скоуп
- Реальная интеграция с чатом в мобильном приложении (`work-pcs-pt-mobile`).
- Реальная интеграция с ботом в МАКС (`work-pcs-pt-bots`).
- Очередь и UI оператора для живого переключения с агента на человека.
- Мультипользовательская прод-эксплуатация.
Всё это — задача смежного разработчика, который будет использовать API этого сервиса.
---
## Архитектура (черновик)
```
┌──────────────────────────────────┐ ┌──────────────────────┐
│ Web UI настройки (один экран) │ │ │
│ ┌────────────┐ ┌────────────┐ │ │ RAG (wiki) │
│ │ База знаний│ │ Промпт + │──┼─────▶│ ChromaDB + E5 │
│ │ (upload) │ │ правила │ │ └──────────────────────┘
│ └────────────┘ └────────────┘ │ ┌──────────────────────┐
│ ┌────────────┐ ┌────────────┐ │─────▶│ DeepSeek LLM API │
│ │ Песочница │ │ Сценарии │ │ └──────────────────────┘
│ │ (чат) │ │ (сохран.) │ │
│ └────────────┘ └────────────┘ │
└──────────────────────────────────┘
Chat Agent API (FastAPI)
(тот же API, что потом получит
внешний разработчик для каналов)
```
**Ключевая идея:** веб-инструмент — это единственный клиент агента на время настройки. Когда конфигурация «устаканивается», её снапшот отдаётся внешнему разработчику вместе с документированным API.
---
## Технологический стек (предварительно)
| Слой | Технология | Назначение |
|------|-----------|-----------|
| API | FastAPI (Python 3.113.12) | HTTP-эндпоинты агента и настройки |
| Vector DB | ChromaDB | База эмбеддингов wiki |
| Embeddings | `intfloat/multilingual-e5-large` | Русскоязычные эмбеддинги |
| LLM | DeepSeek API | Диалоговая модель |
| Хранилище конфигов и сценариев | SQLite | Промпты, правила, сценарии |
| Веб-UI | Vanilla JS / лёгкий фреймворк | Одностраничное приложение настройки |
| Контейнеризация | Docker | Изолированный запуск |
> База опыта — [`work-pcs-dr-cdss`](../work-pcs-dr-cdss) (RAG-сервис для врачей). Переиспользуем паттерн сервисов `embeddings.py / vectorstore.py / document_processor.py / llm_client.py`.
---
## План (спринты)
См. [`SPRINTS.md`](./SPRINTS.md).
---
## Запуск
TBD — будет заполнено в Спринте 1.
---
## Связанные проекты
- [`work-pcs-dr-cdss`](../work-pcs-dr-cdss) — RAG для врачей, источник технических паттернов.
- [`work-pcs-pt-mobile`](../work-pcs-pt-mobile) — мобильное приложение пациента (канал подключит другой разработчик).
- [`work-pcs-pt-bots`](../work-pcs-pt-bots) — пациентские боты МАКС (канал подключит другой разработчик).