Я пытаюсь включить автоматическую локализацию контента (дополнительный перевод с помощью ИИ) на моём собственном экземпляре Discourse, следовал всем доступным инструкциям, но переводы не появляются.
Вот что я уже сделал:
Включил параметр «content localization enabled»
Выбрал как минимум один язык в «content localization supported locales»
Включил параметр «ai translation enabled»
Выбрал рабочую модель «ai translation model» (тест пройден успешно)
Установил значение ai_translation_backfill_hourly_rate больше 0 (через переменную окружения в app.yml)
Установил ai translation max age days на большое значение
После сохранения и пересборки я опубликовал темы на языке, отличном от предпочитаемого мной языка интерфейса, но ничего не переводится. Я не вижу никаких признаков выполнения заданий по переводу (проверял очереди и расписание Sidekiq), а контент для пользователей остаётся без перевода.
Есть ли что-то ещё, что мне стоит проверить, или способ лучше диагностировать, почему не запускается процесс допереводов?
Какова ваша ai_translation_backfill_hourly_rate? Можете попробовать начать со значения 20? Было бы полезно, если бы вы поделились всеми значениями.
Все ли ваши посты общедоступны и не находятся в ограниченных категориях? Если ai_translation_backfill_limit_to_public_content отключен, у вас не будет переведенных постов.
Установка SiteSetting.ai_translation_verbose_logs=true покажет некоторые детали при успешном выполнении.
Альтернативно, если у вас есть Data Explorer, вы можете попробовать следующее, чтобы проверить:
были ли какие-либо вызовы LLM для перевода
или определяются ли локализации постов, но сами посты не переводятся
SELECT COUNT(*)
FROM ai_api_audit_logs
WHERE feature_name = 'translation'
SELECT COUNT(*)
FROM posts
WHERE (locale IS NOT NULL AND locale <> '')
Да, я вижу эти задания в Sidekiq по адресу /sidekiq/scheduler:
Jobs::PostLocalizationBackfill
Jobs::TopicLocalizationBackfill
Jobs::TopicsLocaleDetectionBackfill
Все они отображаются со статусом «OK» и были недавно выполнены.
Я также заметил, что заголовки тем переводятся корректно, но само содержимое постов пока не переведено.
Мне просто нужно подождать немного дольше, чтобы контент был обработан, или есть ещё какие-то настройки, которые нужно проверить для перевода содержимого постов?
У меня возникла похожая проблема после внесения всех тех же изменений в моем размещенном экземпляре. В данном случае я использую OpenAI 4o. Похоже, что переводятся только последние 3 или 4 поста, а дальше ничего. У меня на ключе API всё ещё достаточно кредитов.
Моя текущая ситуация. Я запустил тест с ключом API — всё работает. Как я уже говорил, переведено было около 3–4 постов, а остальные нет. Также добавляются новые посты, но переводы для них отсутствуют.
На данный момент GPT-5 работает настолько медленно, что его использование следует ограничивать определёнными задачами. Но, конечно, это вопрос вкуса и зависит от ситуации.
Однако я время от времени использую Chat GPT/GPT-5 на финском языке. Ранее модели серии 4x были довольно хороши для такого небольшого и сложного языка, как финский. Теперь же… я бы никогда не стал использовать их для переводов. Возможно, GPT-5 и последующие поколения со временем улучшатся и станут работать лучше, а может, уже сейчас они безупречны в работе с крупными языками.
Но, конечно, это было совсем не по теме, хотя, возможно, в этот раз можно сделать исключение. В конце концов, вы всё-таки нашли нужное решение. Но мой общий смысл заключается в том, что эта тема вообще не должна была возникать, потому что, судя по моему опыту и на данный момент, никому не следует использовать GPT-5 для переводов в принципе.
Как отметил @GrahamM, параметр ai_translation_backfill_hourly_rate должен быть установлен администратором вашего сайта, так как это скрытая настройка.
Помимо того, что указано в FAQ, пожалуйста, проверьте следующее:
Проверьте график по адресу https://your-site.com/admin/plugins/discourse-ai/ai-translations. Сколько есть подходящих постов? Если график не отображается, вам нужно обновить систему.
Выполните этот запрос в инструменте Discourse Data Explorer, если он у вас есть:
SELECT
a.id,
a.created_at,
a.raw_request_payload,
a.raw_response_payload,
a.post_id
FROM ai_api_audit_logs a
WHERE a.created_at > '2025-09-01'
AND a.feature_name = 'translation'
ORDER BY a.created_at DESC
LIMIT 100
Откройте пост, который является кандидатом на заполнение, и проверьте, определён ли локаль:
Я убедился, что включена машинная переводка, параметры заполнения (10 в час) и лимиты (10000 дней) установлены правильно. Я добавил переводы на испанский, но система всё ещё сообщает, что заполнение отключено, и я не вижу никаких заданий в Sidekiq. Нужно ли мне выполнить пересборку? Три дня назад я её не делал. Большинство постов доступны для чтения.
Недавно мы убрали скрытый статус у параметра ai_translation_backfill_hourly_rate в этом PR.
Этот параметр по умолчанию равен 0. Изначально он был скрыт, чтобы его могли изменять только хостинг-провайдеры (которые знают, что делают). Вам нужно установить значение, например, 100.
Да, я видел это и изменил значение с 0 на 10 (см. скриншоты выше), но система по-прежнему сообщает, что backfill отключен и запланированных заданий нет. Есть ли способ запустить его вручную или требуется что-то ещё?
В целом на всём сайте мы хотим использовать настройки пользователей для отображения постов на разных языках. Это не бот и не приватный аккаунт, а тысячи публичных постов.
Теперь это очень странно: когда я сейчас, спустя 19 часов, зашел в панель управления, я увидел вот это. Система пишет, что заполнение (backfill) отключено, но, похоже, она уже начала обрабатывать некоторые посты, и указано, что обработано всего 11 постов. Это сколько уже сделано, или это общее целевое количество, или это только новые посты?