ai_trans.py 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import os
  2. from dotenv import load_dotenv
  3. from mylib.pdfzh_translator import OpenAITranslator
  4. # Load environment variables
  5. load_dotenv()
  6. # Initialize translator with environment variables
  7. translator = OpenAITranslator(
  8. service="openai",
  9. lang_out="zh-CN",
  10. lang_in="ja",
  11. model=os.getenv('LLM_MODEL', 'gpt-3.5-turbo') # Use env var or fallback to default
  12. )
  13. def translate_sentences(sentences, target_language='zh'):
  14. """
  15. 翻译句子列表
  16. :param sentences: 要翻译的句子列表
  17. :param target_language: 目标语言,默认为中文
  18. :return: 包含翻译结果的字典
  19. """
  20. try:
  21. # 将句子列表连接成一个字符串进行批量翻译
  22. combined_text = "\n".join(sentences)
  23. # 使用pdfzh_translator进行翻译
  24. translated_text = translator.translate(combined_text)
  25. # 将翻译结果分割回单独的句子
  26. translations = translated_text.split("\n")
  27. return {
  28. "translations": translations,
  29. "status": "success",
  30. "message": f"Translated {len(sentences)} sentences"
  31. }
  32. except Exception as e:
  33. return {
  34. "translations": [],
  35. "status": "error",
  36. "message": str(e)
  37. }