lct-07 (без LLM): слот-автомат, персона, звонящий на заготовках, make repl
Звонящий не выдаёт данные сам: автомат держит раскрытые факты явно и отдаёт звонящему только их. Тест прогоняет длинную серию реплик и проверяет, что ни один нераскрытый факт не прозвучал. Главная находка — матчинг по порогу близости не работает. На multilingual-e5-small настоящие вопросы дают 0.79–0.95, а «Оставайтесь на линии» — до 0.89: диапазоны перекрываются, и любой порог либо выдаёт адрес на «успокойтесь», либо не слышит «где вы находитесь?». Решение — сравнение с ближайшим соседом: у пункта чек-листа несколько формулировок (examples), рядом общий список не-вопросов (checklists/common.yaml), и реплика засчитывается пункту, только если она ближе к нему, чем к любому не-вопросу. На отложенных фразах: 19 из 20 вопросов, 0 из 8 ложных срабатываний. Реплика режется только по границам предложений, со знаком: «?» для e5 — сильный признак вопроса, без него «Куда ехать» уходит к не-вопросам. Подсказка берёт неотработанный пункт из автомата. В живой сессии автомат начнёт слышать оператора, когда голосовой контур передаст ему stt.final. Ждёт ключа LLM: условие approach у скрытых фактов, звонящий своими словами, dialog/llm.py с кэшем.
This commit is contained in:
parent
4f5a8d1400
commit
7c97310938
22 changed files with 1073 additions and 26 deletions
8
Makefile
8
Makefile
|
|
@ -30,8 +30,8 @@ test: ## Тесты бэкенда
|
|||
typecheck: ## Проверить фронтенд компилятором
|
||||
npm --prefix frontend run typecheck
|
||||
|
||||
models: ## Скачать веса GigaAM (STT) и Silero (TTS) в backend/models/
|
||||
@echo "не реализовано — карточка tasks/lct-02-latency-baseline.md"; exit 1
|
||||
models: ## Скачать модели в backend/models/ (сейчас — эмбеддинги; GigaAM и Silero — lct-02)
|
||||
cd backend && $(UV) run python scripts/models.py
|
||||
|
||||
seed: ## Залить сценарии из /scenarios в БД
|
||||
cd backend && $(UV) run python scripts/seed.py
|
||||
|
|
@ -42,8 +42,8 @@ migrate: ## Накатить миграции
|
|||
revision: ## Создать миграцию: make revision m="что изменилось"
|
||||
cd backend && $(UV) run alembic revision --autogenerate -m "$(m)"
|
||||
|
||||
repl: ## Текстовый диалог со звонящим без голоса
|
||||
@echo "не реализовано — карточка tasks/lct-07-caller-slots.md"; exit 1
|
||||
repl: ## Текстовый диалог со звонящим без голоса: make repl s=<сценарий>
|
||||
cd backend && $(UV) run python scripts/repl.py "$(s)"
|
||||
|
||||
pregen: ## Дерево диалога и WAV первых реплик для офлайна
|
||||
@echo "не реализовано — карточка tasks/lct-19-reference-dialog.md"; exit 1
|
||||
|
|
|
|||
Loading…
Reference in a new issue