Medical-Chatbot / translation.py
LiamKhoaLe's picture
Upd translation modules. Increase kb retrieval threshold
6b4f62a
# translation.py
from transformers import pipeline
import logging
logger = logging.getLogger("translation-agent")
logging.basicConfig(level=logging.INFO, format="%(asctime)s — %(name)s — %(levelname)s — %(message)s", force=True) # Change INFO to DEBUG for full-ctx JSON loader
# To use lazy model loader
vi_en = None
zh_en = None
def translate_query(text: str, lang_code: str) -> str:
global vi_en, zh_en
if lang_code == "vi":
if vi_en is None:
vi_en = pipeline("translation", model="VietAI/envit5-translation", src_lang="vi", tgt_lang="en", device=-1)
result = vi_en(text, max_length=512)[0]["translation_text"]
logger.info(f"[En-Vi] Query in `{lang_code}` translated to: {result}")
return result
elif lang_code == "zh":
if zh_en is None:
zh_en = pipeline("translation", model="Helsinki-NLP/opus-mt-zh-en", device=-1)
result = zh_en(text, max_length=512)[0]["translation_text"]
logger.info(f"[En-Zh] Query in `{lang_code}` translated to: {result}")
return result
return text