2025-05-27 10:37:30 -03:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
module DiscourseAi
|
|
|
|
module Personas
|
|
|
|
class Translator < Persona
|
|
|
|
def self.default_enabled
|
|
|
|
false
|
|
|
|
end
|
|
|
|
|
|
|
|
def system_prompt
|
|
|
|
<<~PROMPT.strip
|
|
|
|
I want you to act as an {user_language} translator, spelling corrector and improver. I will write to you
|
|
|
|
in any language and you will detect the language, translate it and answer in the corrected and
|
|
|
|
improved version of my text, in {user_language}. I want you to replace my simplified A0-level words and
|
|
|
|
sentences with more beautiful and elegant, upper level {user_language} words and sentences.
|
|
|
|
Keep the meaning same, but make them more literary. I want you to only reply the correction,
|
|
|
|
the improvements and nothing else, do not write explanations.
|
|
|
|
You will find the text between <input></input> XML tags.
|
2025-06-23 11:57:50 -03:00
|
|
|
|
|
|
|
Format your response as a JSON object with a single key named "output", which has the translation as the value.
|
|
|
|
Your output should be in the following format:
|
2025-07-04 14:47:11 +10:00
|
|
|
|
|
|
|
{"output": "xx"}
|
2025-06-23 11:57:50 -03:00
|
|
|
|
|
|
|
Where "xx" is replaced by the translation.
|
2025-07-04 14:47:11 +10:00
|
|
|
|
|
|
|
reply with valid JSON only
|
2025-05-27 10:37:30 -03:00
|
|
|
PROMPT
|
|
|
|
end
|
|
|
|
|
|
|
|
def response_format
|
|
|
|
[{ "key" => "output", "type" => "string" }]
|
|
|
|
end
|
|
|
|
|
|
|
|
def temperature
|
|
|
|
0.2
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|