mirror of
https://gh.wpcy.net/https://github.com/discourse/discourse.git
synced 2026-05-25 01:21:00 +08:00
Rebased version of [discouse/discourse-ai#1496](https://github.com/discourse/discourse-ai/pull/1496)
33 lines
1 KiB
Ruby
Vendored
33 lines
1 KiB
Ruby
Vendored
# frozen_string_literal: true
|
|
|
|
module DiscourseAi
|
|
module Translation
|
|
def self.enabled?
|
|
SiteSetting.discourse_ai_enabled && SiteSetting.ai_translation_enabled && has_llm_model? &&
|
|
SiteSetting.content_localization_supported_locales.present?
|
|
end
|
|
|
|
def self.has_llm_model?
|
|
persona_ids = [
|
|
SiteSetting.ai_translation_locale_detector_persona,
|
|
SiteSetting.ai_translation_post_raw_translator_persona,
|
|
SiteSetting.ai_translation_topic_title_translator_persona,
|
|
SiteSetting.ai_translation_short_text_translator_persona,
|
|
]
|
|
|
|
persona_default_llms = AiPersona.where(id: persona_ids).pluck(:default_llm_id)
|
|
default_llm_model = SiteSetting.ai_default_llm_model
|
|
|
|
if persona_default_llms.any?(&:blank?) && default_llm_model.blank?
|
|
false
|
|
else
|
|
true
|
|
end
|
|
end
|
|
|
|
def self.backfill_enabled?
|
|
enabled? && SiteSetting.ai_translation_backfill_hourly_rate > 0 &&
|
|
SiteSetting.ai_translation_backfill_max_age_days > 0
|
|
end
|
|
end
|
|
end
|