-
-
Notifications
You must be signed in to change notification settings - Fork 2
uk Intent Benchmark
Перевіряє єдиний промт system на різних моделях Ollama та виводить точність,
латентність і валідність JSON-виводу.
| Метрика | Значення |
|---|---|
intent_acc |
% випадків, коли модель повернула очікуваний інтент |
params_acc |
% випадків, коли params (entity, location, value, ...) збіглися |
json_valid |
% сирих відповідей, що парсяться як валідний JSON |
p50 ms / p95 ms
|
Латентність round-trip через core.llm.llm_call()
|
docker compose exec core python tests/benchmark/run_intent_bench.py \
--corpus tests/benchmark/intent_corpus.jsonl \
--models qwen2.5:0.5b,qwen2.5:1.5b,qwen2.5:3b,phi3-mini:3.8b,gemma3:1b \
--runs 1 \
--out /tmp/intent_bench.jsonМоделі мають бути вже завантажені в Ollama (ollama pull qwen2.5:1.5b на хості).
Бенчмарк використовує той самий core.llm.llm_call, що й продакшн: промт,
інжекція каталогу і JSON-режим повністю збігаються.
| Модель | Ціль intent_acc
|
Ціль json_valid
|
Ціль p95 |
|---|---|---|---|
qwen2.5:1.5b (типова) |
≥ 85% | ≥ 95% | ≤ 800 мс |
qwen2.5:3b |
≥ 92% | 100% | ≤ 1200 мс |
qwen2.5:0.5b (для малої RAM) |
≥ 70% | ≥ 90% | ≤ 400 мс |
phi3-mini:3.8b |
порівняльно — лишити, якщо випереджає 1.5b
|
||
gemma3:1b |
позначається "not recommended", якщо json_valid < 80%
|
Правило ship-gate: продакшн-модель (voice.llm_model у core.yaml) має
відповідати цільовому рядку свого класу розміру.
intent_corpus.jsonl — 32 кейси, що покривають усі простори імен:
-
device.on/device.off/device.set_level/device.set_temperature -
device.query_temperature/device.query_state -
device.lock/device.unlock -
media.*(play_genre, pause, stop, resume, next, volume_up, whats_playing) -
weather.current/weather.forecast -
clock.set_alarm/clock.set_timer/clock.stop_alarm -
privacy_on/privacy_off automation.runpresence.who_home-
chat(вільні запитання)
Усі кейси — англійською. Цей бенчмарк перевіряє шлях після перекладача. Обробка інших мов тестується окремо через Argos round-trip.
Один JSON-об'єкт на рядок:
{"text":"turn on the light","expected":{"intent":"device.on","params":{"entity":"light"}}}Тільки рядок інтенту має збігатися точно; params звіряються регістро-незалежно
по ключах, ключі що не перелічені в expected.params ігноруються.
🤖 This wiki is auto-synced from docs/ in the main repo. Hand-edits on the wiki UI get overwritten on the next push. Open a PR against the main repo instead.
MIT License · Sponsor · Ko-fi
SelenaCore
🇬🇧 English
Getting started
Architecture
Voice & translation
Hardware integration
Development
- Modules overview
- Module development
- System module development
- Module API guide
- Module bus protocol
- Widget development
- User manager / auth
Reference
🇺🇦 Українська
Початок
Архітектура
Голос і переклад
Інтеграція заліза
Розробка
- Розробка модулів
- Розробка системних модулів
- Module API
- Module bus
- Widget development
- User manager / auth
Довідник