Files changed (1) hide show
  1. app.py +17 -0
app.py CHANGED
@@ -15,6 +15,21 @@ from pydub import AudioSegment
15
  import openai
16
  from reportlab.lib.pagesizes import A4
17
  from reportlab.pdfgen import canvas
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
 
19
  # ---------------- Config ----------------
20
  OPENAI_KEY = os.environ.get("OPENAI_API_KEY")
@@ -99,6 +114,8 @@ def build_system_prompt():
99
 
100
  def generate_letter_with_llm(raw_text: str, picked_authority: str, user_info: dict):
101
  raw_text = safe_text(raw_text)
 
 
102
  if OPENAI_KEY:
103
  try:
104
  system_prompt = build_system_prompt()
 
15
  import openai
16
  from reportlab.lib.pagesizes import A4
17
  from reportlab.pdfgen import canvas
18
+ # ---------------- Translation Model ----------------
19
+ from transformers import MarianTokenizer, MarianMTModel
20
+ import torch
21
+
22
+ trans_model_name = "Helsinki-NLP/opus-mt-ur-en"
23
+ tokenizer_trans = MarianTokenizer.from_pretrained(trans_model_name)
24
+ model_trans = MarianMTModel.from_pretrained(trans_model_name)
25
+
26
+ def translate_ur_to_en(ur_text):
27
+ if not ur_text.strip():
28
+ return ""
29
+ batch = tokenizer_trans(ur_text, return_tensors="pt", padding=True)
30
+ generated_ids = model_trans.generate(**batch)
31
+ en_text = tokenizer_trans.batch_decode(generated_ids, skip_special_tokens=True)[0]
32
+ return en_text
33
 
34
  # ---------------- Config ----------------
35
  OPENAI_KEY = os.environ.get("OPENAI_API_KEY")
 
114
 
115
  def generate_letter_with_llm(raw_text: str, picked_authority: str, user_info: dict):
116
  raw_text = safe_text(raw_text)
117
+ # --- New Step: Translate Urdu text to English ---
118
+ raw_text_en = translate_ur_to_en(raw_text)
119
  if OPENAI_KEY:
120
  try:
121
  system_prompt = build_system_prompt()