База знаний (RAG) по клиническим рекомендациям: КР ПТСР 2023, КР Депрессия 2024 и спецификация модуля «Лекарства». PDF переведены в txt и сверены по словам. Поиск — офлайн-BM25 по основам слов с синонимами. Ответы экстрактивные: только предложения из КР с цитатой «[КР ПТСР 2023, стр. N]».
A (app/llm/rag, config/texts/rag.yaml, tests/test_llm_*). Плюс новые config/rag/ (корпус) и docs/source/rag/ (PDF и конвертер), ADR-011 в docs/DECISIONS.md. Контракты и pyproject.toml не тронуты, новых зависимостей нет.
Как проверить
make lint && make test
uv run python -m app.llm.rag "через сколько начинают действовать антидепрессанты"
uv run python -m app.llm.rag "что такое флэшбек"
uv run python -m app.llm.rag "какой рецепт борща"# → «ответа нет, уточните у врача»
uv run python -m app.llm.rag --audience doctor "синдром отмены антидепрессантов"
uv run python -m app.llm.rag --search "ДПДГ при ПТСР"# сырые фрагменты со скорами
Гарантии:
Пациенту: дозы и назначения вырезаются, вопрос о дозе отправляется к врачу, в конце всегда приписка «решает ваш врач». Перефразировка LLM с новым содержанием отбраковывается.
Врачу: дословные цитаты с уровнем доказательности.
Документы команды (audiences: [team]) наружу не попадают.
Safety-проверка входящего — на стороне вызывающего, как и для med_qa.
Метрики (tests/test_llm_rag.py): hit@3 = 15/18 на контрольных вопросах, 9/9 вопросов не по теме отсечены.
Встраивание в диалог и дашборд — отдельными issue.
Чек-лист
rebase на origin/dev
make lint + make test зелёные (753 passed)
лог в issue (### 2026-10-04)
нет ПДн в логах, нет реальных данных, нет секретов
общие файлы не тронуты (кроме записи ADR и строки в config/README.md)
## Что меняется
База знаний (RAG) по клиническим рекомендациям: КР ПТСР 2023, КР Депрессия 2024 и спецификация модуля «Лекарства». PDF переведены в txt и сверены по словам. Поиск — офлайн-BM25 по основам слов с синонимами. Ответы экстрактивные: только предложения из КР с цитатой «[КР ПТСР 2023, стр. N]».
Closes #60
## Зона
A (`app/llm/rag`, `config/texts/rag.yaml`, `tests/test_llm_*`). Плюс новые `config/rag/` (корпус) и `docs/source/rag/` (PDF и конвертер), ADR-011 в `docs/DECISIONS.md`. Контракты и `pyproject.toml` не тронуты, новых зависимостей нет.
## Как проверить
```bash
make lint && make test
uv run python -m app.llm.rag "через сколько начинают действовать антидепрессанты"
uv run python -m app.llm.rag "что такое флэшбек"
uv run python -m app.llm.rag "какой рецепт борща" # → «ответа нет, уточните у врача»
uv run python -m app.llm.rag --audience doctor "синдром отмены антидепрессантов"
uv run python -m app.llm.rag --search "ДПДГ при ПТСР" # сырые фрагменты со скорами
```
Гарантии:
- Пациенту: дозы и назначения вырезаются, вопрос о дозе отправляется к врачу, в конце всегда приписка «решает ваш врач». Перефразировка LLM с новым содержанием отбраковывается.
- Врачу: дословные цитаты с уровнем доказательности.
- Документы команды (`audiences: [team]`) наружу не попадают.
- Safety-проверка входящего — на стороне вызывающего, как и для `med_qa`.
Метрики (`tests/test_llm_rag.py`): hit@3 = 15/18 на контрольных вопросах, 9/9 вопросов не по теме отсечены.
Встраивание в диалог и дашборд — отдельными issue.
## Чек-лист
- [x] rebase на origin/dev
- [x] make lint + make test зелёные (753 passed)
- [x] лог в issue (### 2026-10-04)
- [x] нет ПДн в логах, нет реальных данных, нет секретов
- [x] общие файлы не тронуты (кроме записи ADR и строки в config/README.md)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Что меняется
База знаний (RAG) по клиническим рекомендациям: КР ПТСР 2023, КР Депрессия 2024 и спецификация модуля «Лекарства». PDF переведены в txt и сверены по словам. Поиск — офлайн-BM25 по основам слов с синонимами. Ответы экстрактивные: только предложения из КР с цитатой «[КР ПТСР 2023, стр. N]».
Closes #60
Зона
A (
app/llm/rag,config/texts/rag.yaml,tests/test_llm_*). Плюс новыеconfig/rag/(корпус) иdocs/source/rag/(PDF и конвертер), ADR-011 вdocs/DECISIONS.md. Контракты иpyproject.tomlне тронуты, новых зависимостей нет.Как проверить
Гарантии:
audiences: [team]) наружу не попадают.med_qa.Метрики (
tests/test_llm_rag.py): hit@3 = 15/18 на контрольных вопросах, 9/9 вопросов не по теме отсечены.Встраивание в диалог и дашборд — отдельными issue.
Чек-лист
🤖 Generated with Claude Code