"""Summarization and easy English services.""" from __future__ import annotations from typing import Tuple from src.config import SUMMARY_SYSTEM_PROMPT, EASY_ENGLISH_SYSTEM_PROMPT from src.model_loader import get_model_and_tokenizer from src.generation import chat_generate def summarize(text: str) -> Tuple[str, str]: """Summarize Japanese text in English. Returns (summary, status).""" if not text or not text.strip(): return "", "" model, tokenizer = get_model_and_tokenizer() messages = [ {"role": "system", "content": SUMMARY_SYSTEM_PROMPT}, {"role": "user", "content": text.strip()}, ] summary = chat_generate(model, tokenizer, messages, max_new_tokens=512, do_sample=False) return summary, "" def easy_english(text: str) -> Tuple[str, str]: """Rewrite English text into simple English. Returns (easy_text, status).""" if not text or not text.strip(): return "", "" model, tokenizer = get_model_and_tokenizer() messages = [ {"role": "system", "content": EASY_ENGLISH_SYSTEM_PROMPT}, {"role": "user", "content": text.strip()}, ] easy = chat_generate(model, tokenizer, messages, max_new_tokens=512, do_sample=False) return easy, ""