| """Japanese -> English translation.""" | |
| from __future__ import annotations | |
| from typing import Tuple | |
| from src.config import TRANSLATION_SYSTEM_PROMPT | |
| from src.model_loader import get_model_and_tokenizer | |
| from src.generation import chat_generate | |
| def translate(text: str) -> Tuple[str, str]: | |
| """Translate Japanese text to English. | |
| Returns (translation, status_message). | |
| """ | |
| if not text or not text.strip(): | |
| return "", "" | |
| model, tokenizer = get_model_and_tokenizer() | |
| messages = [ | |
| {"role": "system", "content": TRANSLATION_SYSTEM_PROMPT}, | |
| {"role": "user", "content": text.strip()}, | |
| ] | |
| translation = chat_generate( | |
| model, | |
| tokenizer, | |
| messages, | |
| max_new_tokens=512, | |
| do_sample=False, | |
| ) | |
| return translation, "" | |