Что происходит с переводами при смене LLM?

Если я изменю LLM, будут ли все посты переведены заново?

Я использовал LLM, размещённый на Groq. Когда он был выполнен примерно на 95%, у меня начали возникать ошибки. После расследования я понял, что Groq устарел модель, которую я использовал. Поэтому я настроил новую модель в Groq и обновил параметры модели в Discourse.

Я вижу, что Discourse теперь использует миллионы токенов с обновлённой моделью перевода каждый день, но индикатор прогресса на странице статуса переводов не продвигается (всё ещё застрял на 95%).

Поэтому я пытаюсь понять, что происходит при изменении параметров LLM? Начинает ли он переводы заново с самого начала? Если да, то есть ли способ предотвратить это и продолжить с того места, где он остановился?

Зависит, например, от того, если вы переводите с использованием модели Gemini, а затем переключаетесь на другую, вы создадите новый кэш слов. По моему опыту, я предпочитаю держать три маршрута: два с одной и той же моделью, а недавно я активировал Gemini Flash Lite для нового контента, и до сих пор проблем не возникало.

Старые переводы сохраняются, новый LLM выполнит перевод только того, что ещё не было переведено.

Что я могу сделать, чтобы проверить, что происходит?

Каждый день LLM потребляет миллионы токенов для переводов (достигает дневного лимита для API), но в статистике переводов нет никакого прогресса (0 инкрементальных переводов). См. скриншоты.


Включите подробное ведение журналов и проверьте последние записи в таблице аудита API ИИ.

Хорошо, я включил отладку перевода с помощью ИИ из консоли Rails, выполнив SiteSettings.ai_translation_verbose_logs = true, и уже два дня вижу это на странице логов ошибок в /logs.

DiscourseAi::Translation: Не удалось перевести тему 5898 на язык zh_TW: {“error”:{“message”:"Достигнут лимит запросов для модели openai/gpt-oss-120b в организации org_01kccx1baz5sXXX на уровне обслуживания on_demand по количеству токенов в день (TPD): Лимит 200000, Использовано 193366, Запрошено 7514. Пожалуйста, попробуйте снова через 6 минут 20,16 секунды.

Одна и та же тема продолжает обрабатываться, расходуя весь ежедневный лимит токенов. Я не понимаю, почему одна тема может застрять в цикле?

Вы отключили рассуждение для этой LLM? Попробуйте это.

Когда вы говорите «мышление», вы имеете в виду «видение»? Я не вижу никакого флажка или опции для «мышления» на странице конфигурации LLM в Discourse.

Интересно, какое это будет иметь влияние на переводы?

Страница зависла уже неделю, потребляя все ежедневные токены:

Embedded Subtitles with MP4 Unprocessed - General Support / Questions - MCEBuddy

DiscourseAi::Translation: Не удалось перевести тему 5898 на fr: {“error”:{“message”:“Достигнут лимит запросов для модели openai/gpt-oss-120b в организации org_01kccx1be8fffaz5sbe17 в тарифном плане on_demand по количеству токенов в день (TPD): лимит 200000, использовано 197080, запрошено 7512. Пожалуйста, повторите попытку через 33 минуты 3,744 секунды.”}

Вы имеете в виду усилия на рассуждение или зрение?


@Falco если я установлю усилие рассуждения в «none», я получаю эту ошибку:

DiscourseAi::Translation: Не удалось перевести тему 5898 на fr: {“error”:{“message”:“reasoning_effort должно быть одним из low, medium или high”,“type”:“invalid_request_error”}}

О каком параметре вы говорите?

Итак, прошло уже около 24 часов, но в логах я не вижу никаких записей о переводе: ни ошибок, ни успешных операций за последние сутки.

Однако на панели управления отображается, что переводы не завершены.

Я пробовал отключать и снова включать переключатель автоматических переводов, но это не дало никаких результатов.

При проверке планировщика Sidekiq я вижу только одну задачу, связанную с переводами:
image

Я попытался запустить её вручную, но прогресса в переводах не последовало, и в логах также не было ошибок.

Почему переводы могут застрять?

Насколько я помню, при отладке подобной проблемы для клиента выяснилось, что использовать модель с механизмом «мышления» для определения локали невозможно.

Мы не используем структурированный вывод, поэтому крайне зависим от формата результата. Блоки с рассуждениями ломают его в 100 % случаев, и без определения локали перевод всегда застревает.

Так что, если я правильно понимаю, для AI-переводов нам потребуется использовать модель без мышления.