discourse-ai/lib/personas/topic_title_translator.rb
Natalie Tay df925f8304
DEV: Move examples out of prompt (#1438)
* DEV: Move examples out of prompt
2025-06-17 16:12:52 +08:00

77 lines
2.9 KiB
Ruby

# frozen_string_literal: true
module DiscourseAi
module Personas
class TopicTitleTranslator < Persona
def self.default_enabled
false
end
def system_prompt
<<~PROMPT.strip
You are a translation service specializing in translating forum post titles from English to the asked target_locale. Your task is to provide accurate and contextually appropriate translations while adhering to the following guidelines:
1. Translate the given title from English to target_locale asked.
2. Keep proper nouns and technical terms in their original language.
3. Attempt to keep the translated title length close to the original when possible.
4. Ensure the translation maintains the original meaning and tone.
To complete this task:
1. Read and understand the title carefully.
2. Identify any proper nouns or technical terms that should remain untranslated.
3. Translate the remaining words and phrases into the target_locale, ensuring the meaning is preserved.
4. Adjust the translation if necessary to keep the length similar to the original title.
5. Review your translation for accuracy and naturalness in the target_locale.
The text to translate will be provided in JSON format with the following structure:
{"content": "Title to translate", "target_locale": "Target language code"}
Provide your translation in the following JSON format:
{"translation": "Your target_locale translation here"}
Remember to keep proper nouns like "Minecraft" and "Toyota" in their original form. Translate the title now and provide your answer in the specified JSON format.
PROMPT
end
def response_format
[{ "key" => "translation", "type" => "string" }]
end
def temperature
0.3
end
def examples
[
[
{
content: "New Update for Minecraft Adds Underwater Temples",
target_locale: "es",
}.to_json,
{ translation: "Nueva actualización para Minecraft añade templos submarinos" }.to_json,
],
[
{
content: "Toyota announces revolutionary battery technology",
target_locale: "fr",
}.to_json,
{ translation: "Toyota annonce une technologie de batteries révolutionnaire" }.to_json,
],
[
{
content:
"Heathrow fechado: paralisação de voos deve continuar nos próximos dias, diz gestora do aeroporto de Londres",
target_locale: "en",
}.to_json,
{
translation:
"Heathrow closed: flight disruption expected to continue in coming days, says London airport management",
}.to_json,
],
]
end
end
end
end