Бот отвечает на вопросы пациента о состоянии и лечении из базы знаний по КР (RAG #60/#62): новая кнопка меню «Вопрос о лечении» и ответы на вопросы в свободном тексте.
## Что меняется
Бот отвечает на вопросы пациента о состоянии и лечении из базы знаний по КР (RAG #60/#62): новая кнопка меню «Вопрос о лечении» и ответы на вопросы в свободном тексте.
Closes #64
## Зона
A (`app/dialog/**`, `app/llm/rag/qa.py`, `config/texts/**`, `tests/test_dialog_knowledge.py`). Контракты не тронуты.
## Как работает
| Сообщение | Ответ |
|---|---|
| меню «Вопрос о лечении» → «что такое флэшбек?» | цитата из КР + «Источник: КР ПТСР 2023, стр. 2» + «решает ваш врач» |
| свободный вопрос «помогает ли психотерапия при ПТСР?» | то же, из базы знаний |
| нет ответа в КР | меню: «уточните у врача»; свободный текст: обычная фраза поддержки |
| «можно увеличить дозу?» | фиксированный текст: дозу решает врач |
| вопрос о своём препарате | как раньше: `med_qa`, только инструкция ГРЛС |
| побочки / бросить / алкоголь | как раньше: чек-ин и правила |
| острый риск | как раньше: кризисный скрипт, база знаний не вызывается |
## Как проверить
```bash
make lint && make test
```
Демо-консоль / Telegram: меню → «Вопрос о лечении» → «что такое флэшбек?».
## Чек-лист
- [x] rebase на origin/dev
- [x] make lint + make test зелёные (779 passed)
- [x] лог в issue (### 2026-10-04)
- [x] нет ПДн в логах, нет реальных данных, нет секретов
- [x] общие файлы не тронуты
🤖 Generated with [Claude Code](https://claude.com/claude-code)
- menu button «Вопрос о лечении» -> kb.question -> rag.answer (KR quote + source)
or «уточните у врача»; dose questions get a fixed doctor redirect
- free text in idle that looks like a question (no check-in signals, not a drug
question) -> knowledge base; no answer -> the usual support phrase
- routing order unchanged: consent/safety first, side effects/quit/alcohol -> check-in,
own drug -> med_qa (instruction only, SPEC §7 p.5)
- question cues, small talk and texts in config/texts/knowledge.yaml; scrub placeholders
before "что такое X" no longer hide the definition question
Refs #64
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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 #60/#62): новая кнопка меню «Вопрос о лечении» и ответы на вопросы в свободном тексте.
Closes #64
Зона
A (
app/dialog/**,app/llm/rag/qa.py,config/texts/**,tests/test_dialog_knowledge.py). Контракты не тронуты.Как работает
med_qa, только инструкция ГРЛСКак проверить
Демо-консоль / Telegram: меню → «Вопрос о лечении» → «что такое флэшбек?».
Чек-лист
🤖 Generated with Claude Code