Ошибка переводов ИИ в Discourse?

Я сталкиваюсь с некоторыми ошибками при использовании Discourse AI. Вот ситуация:
Сначала давайте рассмотрим правильный пост, чтобы показать, что проблема не в моей конфигурации и всё работает так, как я планировал.
Базовый язык моего сайта — упрощённый китайский, и доступно ещё 9 языков.
Этот пост «New post test 0 translation» отображается нормально.

Однако некоторые отдельные посты работают некорректно. Например:
Пост «About ‘Image Library’ category». Исходный пост был опубликован на упрощённом китайском (он был автоматически создан при создании категории).
Но в результатах перевода исходный упрощённый китайский снова переведён как «zh_CN», вместо того чтобы быть переведённым на английский.

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


В выпадающем списке я не могу добавить отдельный перевод для английского языка.
Однако в моих глобальных настройках английский (США) уже добавлен корректно.

Я отключил кэш CDN и несколько раз очистил кэш локального браузера.
Это исключает кэширование как причину проблемы.
Мою базовую конфигурацию также можно исключить, так как на первом изображении показано правильное поведение.
Я не понимаю, почему возникает эта проблема. Как её исправить?
Моя версия Discourse: 3.6.0.beta1-dev(b8e86ceb23)
Операционная система сервера: Debian 12.12
Я протестировал это локально с использованием последних версий браузеров Chrome и Opera.
Ссылка на правильный случай: https://openttc.com/t/topic/61
Ссылка на неправильный случай: https://openttc.com/t/topic/58

Это не ошибка. Поскольку язык по умолчанию для описаний всех категорий (созданных системой) — английский (En), независимо от того, что вы вводите, пост по умолчанию считается английским. Поэтому перевод не активируется.

У каждого поста определяется язык с помощью ИИ.

Если пост изначально написан на «китайском», система должна определить его как «zh_CN». Вы можете увидеть определённый язык в обычном редакторе (не в редакторе перевода) рядом с иконкой :globe_with_meridians:.

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

Я подозреваю, что в случае с https://openttc.com/t/topic/58 определённый язык указан неверно. Не могли бы вы проверить?

Да. Он ошибочно распознан как en, а не zh_CN. Я проверил и обнаружил, что все сообщения с описанием категорий, созданные системой, распознаются как en, даже если они написаны на китайском языке.

Новый вопрос: поддерживает ли страница FAQ несколько языков? Где следует добавлять переводы?

Я полагаю, что страница FAQ использует стандартные ключи I18n. Вы можете перейти на страницу администрирования вашего сайта, чтобы изменить тексты сайта, например: https://openttc.com/admin/customize/site_texts?q=guidelines_topic.body, и заменить их.

Хорошо, большое спасибо за вашу помощь.

Думаю, это действительно существующая проблема. Не знаю, является ли это распространённой ситуацией или же это связано с ошибкой в моей конфигурации.

Это также может быть связано со временем. Если категории были созданы до переключения языка сайта, то языки тем в этих категориях могли остаться английскими.

В таком случае вы можете перейти к первому сообщению в теме каждой категории, открыть редактор и переключить их на китайский язык.

Здравствуйте. По итогам моих попыток:

Я создал новую категорию 6 минут назад: https://openttc.com/t/topic/66
Затем я ничего не делал, ожидая, пока сработает перевод.
После этого я получил пост на китайском языке, который был ошибочно распознан как английский.



В момент создания этой категории мой язык сайта на 100% был упрощённым китайским.
Моя AI-модель использует Llama3.1 8b от Openrouter.

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

-- [params]
-- integer :topic_id = 66

SELECT 
  a.id,
  a.created_at,
  a.response_tokens,
  (REGEXP_MATCH(a.raw_response_payload, '"text": "([^"\\]+)"'))[1] AS llm_detected_locale,
  a.raw_response_payload
FROM ai_api_audit_logs a
JOIN posts p ON p.id = a.post_id AND p.deleted_at IS NULL
LEFT JOIN topics t ON t.id = a.topic_id AND t.deleted_at IS NULL
WHERE t.id = :topic_id
AND p.post_number = 1
AND a.feature_name = 'translation'
AND a.response_tokens < 5

Это должно показать, что именно возвращает LLM.

Если в столбце llm_detected_locale мы видим значение “en”, я подозреваю, что промпты вашего сайта для определения локали требуют изменения, либо вы можете использовать более подходящий LLM (возможно, qwen?)

Здравствуйте. В итоге я не решил эту проблему, но она не имеет большого значения.
Наиболее точное описание проблемы звучит так: когда я создаю новую категорию, автоматически сгенерированная системой тема «О категории» по умолчанию определяется как en. Хотя её текстовое содержание действительно на упрощённом китайском языке, при открытии темы она определяется как английская, и мне приходится менять это вручную.
Не уверен, связано ли это с настройками моего файла app.yml?