recognition: глобальный переключатель языка вывода [general].language
- новое поле [general].language (ru|en, дефолт en) — единый источник языка локализованного title детектора и локали запросов к метабазам; original_title всегда на языке оригинала - локаль TMDB (поиск + credits) выводится из него, [metadata.tmdb].language убран - промпт LLM явно задаёт язык title с fallback на оригинал
This commit is contained in:
@@ -142,12 +142,16 @@ type Config struct {
|
||||
MaxTokens int // лимит ответа модели (0 — дефолт)
|
||||
MaxFiles int // усечение списка файлов в промпте (0 — дефолт)
|
||||
AutoThreshold float64 // порог уверенности для авто (0 — дефолт 0.85)
|
||||
// Language — язык локализованного `title` в промпте ("ru" | "en"); пусто →
|
||||
// "en". `original_title` от него не зависит (см. prompt.go).
|
||||
Language string
|
||||
}
|
||||
|
||||
const (
|
||||
defaultMaxTokens = 4000
|
||||
defaultMaxFiles = 100
|
||||
defaultAutoThreshold = 0.85
|
||||
defaultLanguage = "en"
|
||||
)
|
||||
|
||||
// Recognizer — реализация распознавания.
|
||||
@@ -158,6 +162,7 @@ type Recognizer struct {
|
||||
maxTokens int
|
||||
maxFiles int
|
||||
threshold float64
|
||||
language string
|
||||
log *slog.Logger
|
||||
}
|
||||
|
||||
@@ -180,6 +185,13 @@ func New(provider LLM, providers []metadata.Provider, cfg Config, log *slog.Logg
|
||||
if threshold <= 0 {
|
||||
threshold = defaultAutoThreshold
|
||||
}
|
||||
// Канонический дефолт языка — config.ContentLanguage() (единственный питатель
|
||||
// на проде). Здесь defensive-нормализация для прямых вызовов конструктора
|
||||
// (тесты); держать равным этому дефолту.
|
||||
language := cfg.Language
|
||||
if language == "" {
|
||||
language = defaultLanguage
|
||||
}
|
||||
return &Recognizer{
|
||||
llm: provider,
|
||||
providers: providers,
|
||||
@@ -187,6 +199,7 @@ func New(provider LLM, providers []metadata.Provider, cfg Config, log *slog.Logg
|
||||
maxTokens: maxTokens,
|
||||
maxFiles: maxFiles,
|
||||
threshold: threshold,
|
||||
language: language,
|
||||
log: log,
|
||||
}
|
||||
}
|
||||
@@ -197,7 +210,7 @@ func New(provider LLM, providers []metadata.Provider, cfg Config, log *slog.Logg
|
||||
func (r *Recognizer) Recognize(ctx context.Context, in Input) (Result, error) {
|
||||
log := logctx.FromOr(ctx, r.log)
|
||||
pre := preParse(in.Name)
|
||||
msgs := buildMessages(in, pre, r.maxFiles)
|
||||
msgs := buildMessages(in, pre, r.maxFiles, r.language)
|
||||
|
||||
temp := 0.0
|
||||
var raw string
|
||||
|
||||
Reference in New Issue
Block a user