Уточнение деталей архитектуры
This commit is contained in:
@@ -20,9 +20,10 @@
|
||||
|
||||
1. **Пред-парс** имени релиза дешёвым парсером (`go-ptn`): черновые
|
||||
название/год/сезон/серия и качество. Грубо, но бесплатно.
|
||||
2. **LLM** (Anthropic, structured output): получает все сигналы и
|
||||
пред-парс, возвращает структурированный план. Хорошо справляется с
|
||||
русскими релиз-именами, чего не умеет парсер.
|
||||
2. **LLM** (через провайдер-абстракцию, см. «Провайдер LLM»): получает
|
||||
все сигналы и пред-парс, возвращает структурированный план в нашей
|
||||
схеме. Хорошо справляется с русскими релиз-именами, чего не умеет
|
||||
парсер.
|
||||
3. **Сверка с базой** (опц., если включена TMDB/TVDB): подтверждаем
|
||||
название+год, берём официальный id и каноническое имя.
|
||||
4. **Оценка уверенности** и решение: авто-раскладка или ревью.
|
||||
@@ -42,6 +43,24 @@ confidence 0..1 — самооценка модели по полям
|
||||
notes пояснения, неоднозначности
|
||||
```
|
||||
|
||||
## Провайдер LLM
|
||||
|
||||
Доступ к LLM — за интерфейсом; конкретная реализация выбирается полем
|
||||
`[llm].type` в конфиге (дискриминатор). Это позволяет подключать
|
||||
локальные модели и сторонние (в т.ч. китайские) эндпоинты — ради экономии
|
||||
и независимости от одного вендора.
|
||||
|
||||
- Первый и пока единственный тип — **`openai-compat`**: OpenAI-совместимый
|
||||
Chat Completions API (`base_url` + `api_key` + `model`). Под него
|
||||
подходят локальные серверы (LM Studio, llama.cpp, Ollama) и облачные
|
||||
совместимые провайдеры (DeepSeek, Qwen и др.).
|
||||
- Структурированный вывод: запрашиваем JSON по нашей схеме
|
||||
(`response_format` со схемой там, где поддерживается; иначе json-режим
|
||||
или tool-call), **валидируем в Go** и ретраим при несоответствии —
|
||||
серверы различаются по поддержке строгих схем.
|
||||
- Новые типы (напр. нативный `anthropic`) добавляются, не трогая
|
||||
`recognize`.
|
||||
|
||||
## Модель уверенности
|
||||
|
||||
Авто-раскладка только если выполнено всё:
|
||||
@@ -54,8 +73,9 @@ notes пояснения, неоднозначности
|
||||
- сериал: число серий бьётся с базой (если есть), нумерация S·E
|
||||
консистентна, без пропусков и дублей.
|
||||
|
||||
Иначе план уходит в **review**. На экране подтверждения всегда видно,
|
||||
*почему* не авто — это страховка на дорогих файлах.
|
||||
Иначе план уходит в **review** (сценарии — [review-ux.md](review-ux.md)).
|
||||
На экране подтверждения всегда видно, *почему* не авто — это страховка на
|
||||
дорогих файлах.
|
||||
|
||||
## Что делаем с краёв
|
||||
|
||||
|
||||
Reference in New Issue
Block a user