addrkit: strict ordinal matching, LLM-variant guard, externalized prompt
- match: require candidate ordinal to equal the query ordinal in fuzzy search (deterministic typo recall 73% -> 80%, no wrong houses) - resolver: compatibleVariant guard — LLM may only fix street spelling, keeping the same words, ordinal and house unit; damerau distance for transpositions - llm: prompt moved out of code (go:embed default_prompt.txt) with llm.system_prompt / llm.system_prompt_file overrides; guided JSON parsing tolerant of thinking blocks - address: recognize ordinals appearing after the street name - tests: first coverage for the LLM adapter and config prompt loading; README Measured (sample 200): deterministic 94.7-95.8% exact / 0 wrong across 4 seeds; LLM+guard typo 90.7-89.8% / 0 wrong. LLM fallback latency ~1.2-1.9s.
This commit is contained in:
@@ -87,6 +87,11 @@ CLI без сервиса:
|
||||
незаданная переменная = ошибка запуска (fail closed). Секреты — только из
|
||||
окружения.
|
||||
|
||||
Промпт LLM-rewriter **не зашит в код**: встроенный дефолт лежит в
|
||||
`internal/adapters/llm/default_prompt.txt` и компилируется в бинарь (`go:embed`).
|
||||
Переопределить можно в конфиге: `llm.system_prompt` (инлайн) или
|
||||
`llm.system_prompt_file` (путь к файлу; приоритетнее инлайна).
|
||||
|
||||
## Принятые решения
|
||||
|
||||
- **Детерминизм.** Один вход — один выход, порядок кандидатов стабилен.
|
||||
|
||||
Reference in New Issue
Block a user