[Update] translation: Add Plamo API support with authentication and translation functionality

This commit is contained in:
misyaguziya
2025-09-10 17:52:42 +09:00
parent 7ffef350fe
commit f5ebcd7bd8
7 changed files with 207 additions and 2 deletions

View File

@@ -0,0 +1,80 @@
from langchain_openai import ChatOpenAI
class PlamoClient:
def __init__(self, api_key: str):
self.api_key = api_key
self.base_url = "https://api.platform.preferredai.jp/v1"
self.model = "plamo-2.0-prime"
self.supported_languages = """
English
Japanese
Korean
French
German
Spanish
Portuguese
Russian
Italian
Dutch
Polish
Turkish
Arabic
Hindi
Thai
Vietnamese
Indonesian
Malay
Filipino
Swedish
Finnish
Danish
Norwegian
Romanian
Czech
Hungarian
Greek
Hebrew
Simplified Chinese
Traditional Chinese
"""
self.prompt_template = f"""
You are a translation assistant that uses the `plamo-translate` tool.
Translate the following text.Supported languages include:{self.supported_languages}
Translate the following text from {{input_lang}} to {{output_lang}}.
output only the translated text without any additional commentary.
"""
self.plamo_llm = ChatOpenAI(
base_url=self.base_url,
model=self.model,
streaming=True,
openai_api_key=self.api_key,
)
def translate_text(self, text: str, input_lang: str, output_lang: str):
messages = [
{
"role": "system",
"content": self.prompt_template.format(
input_lang=input_lang, output_lang=output_lang
),
},
{"role": "user", "content": text},
]
output = ""
for chunk in self.plamo_llm.stream(messages):
output += chunk.content
return output[:-1]
if __name__ == "__main__":
text = """
毎朝コーヒーを入れるのがささやかな楽しみになってる
"""
input_lang = "Japanese"
output_lang = "English"
plamo_client = PlamoClient(api_key="AUTH_KEY")
translated_text = plamo_client.translate_text(text, input_lang, output_lang)
print(translated_text)