Проблемы с возвращаемыми значениями детектора локали

Мы столкнулись с двумя различными проблемами на двух разных форумах, где локализация контента начала переводить посты на их исходный язык (а в худшем случае — странным образом искажать содержимое или добавлять «этот пост уже на английском!»).

При深入ном анализе выяснилось, что детектор локали не получал от LLM чистый код языка.

Вместо этого он был обернут в markdown-разметку ``` (мы приводим только соответствующие части из логов для наглядности:

"delta":{"content":"```"}
"delta":{"content":"en```"},

или же он содержал окружающие кавычки, вероятно, из-за путаницы с промптом, который гласит Output: "en":

"delta":{"content":"\""}
"delta":{"content":"en\""}

Изменение последней строки промпта на Ваш ответ должен быть только кодом языка, и ничем иным. Не оборачивайте ответ в markdown. помогло, но, полагаю, метод LanguageDetector.detect должен немного очищать полученный ответ (например, разрешая только символы AZaz и дефис -) перед его использованием.

4 лайка

Спасибо за сообщение, @nat посмотрит.

2 лайка

@RGJ у нас открыт PR по этому вопросу, но не могли бы вы поделиться, какую LLM вы используете?

1 лайк

Мы вывели этот экземпляр из эксплуатации, но, насколько я помню, это был Ministral 3B.

Я объединил исправление, которое включало обновление промпта и перенос примеров из системного промпта в нормальное взаимодействие.

Наша команда также в настоящее время работает над оценками (evals) для повышения надёжности работы различных LLM.

2 лайка

Эта тема была автоматически закрыта через 2 дня. Новые ответы больше не принимаются.