pradeep4321 commited on
Commit
6d492af
Β·
verified Β·
1 Parent(s): f25fc7a

Update src/streamlit_app.py

Browse files
Files changed (1) hide show
  1. src/streamlit_app.py +29 -29
src/streamlit_app.py CHANGED
@@ -18,7 +18,7 @@ if not HF_TOKEN:
18
  st.stop()
19
 
20
  client = InferenceClient(
21
- model="google-t5/t5-base",
22
  token=HF_TOKEN
23
  )
24
 
@@ -68,42 +68,42 @@ def speech_to_text(audio_file):
68
  return text
69
 
70
  # ==============================
71
- # LANGUAGE MAP (IMPORTANT)
72
- # ==============================
73
- lang_map = {
74
- "English": "en",
75
- "Tamil": "ta",
76
- "Hindi": "hi",
77
- "French": "fr",
78
- "Arabic": "ar",
79
- "Spanish": "es",
80
- "German": "de"
81
- }
82
-
83
- # ==============================
84
- # TRANSLATION FUNCTION (FIXED)
85
  # ==============================
86
  def translate(text, target_lang):
87
 
88
- # Detect source language
89
  try:
90
  src_lang = detect(text)
91
  except:
92
- src_lang = "en"
93
-
94
- tgt_lang = lang_map[target_lang]
95
 
96
  memory = retrieve_memory(text)
97
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
98
  try:
99
- # βœ… Correct API for T5
100
- response = client.translation(
101
- text=text,
102
- src_lang=src_lang,
103
- tgt_lang=tgt_lang
104
  )
105
 
106
- translated = response["translation_text"]
107
 
108
  except Exception as e:
109
  translated = f"❌ Translation failed: {str(e)}"
@@ -117,7 +117,7 @@ def translate(text, target_lang):
117
  # ==============================
118
  st.set_page_config(page_title="AI Translator", layout="wide")
119
 
120
- st.title("🌍 AI Translator with Voice (T5)")
121
 
122
  tab1, tab2 = st.tabs(["πŸ“ Text Input", "🎀 Voice Input"])
123
 
@@ -127,7 +127,7 @@ input_text = ""
127
  # TEXT INPUT
128
  # ------------------------------
129
  with tab1:
130
- input_text = st.text_area("Enter text")
131
 
132
  # ------------------------------
133
  # VOICE INPUT
@@ -149,11 +149,11 @@ with tab2:
149
  # ------------------------------
150
  target_lang = st.selectbox(
151
  "Target Language",
152
- list(lang_map.keys())
153
  )
154
 
155
  # ------------------------------
156
- # TRANSLATE BUTTON
157
  # ------------------------------
158
  if st.button("Translate"):
159
  if not input_text.strip():
 
18
  st.stop()
19
 
20
  client = InferenceClient(
21
+ model="google/gemma-7b-it",
22
  token=HF_TOKEN
23
  )
24
 
 
68
  return text
69
 
70
  # ==============================
71
+ # TRANSLATION FUNCTION
 
 
 
 
 
 
 
 
 
 
 
 
 
72
  # ==============================
73
  def translate(text, target_lang):
74
 
75
+ # Detect language
76
  try:
77
  src_lang = detect(text)
78
  except:
79
+ src_lang = "unknown"
 
 
80
 
81
  memory = retrieve_memory(text)
82
 
83
+ prompt = f"""
84
+ You are a professional multilingual translator.
85
+
86
+ Translate from {src_lang} to {target_lang}.
87
+
88
+ Text:
89
+ {text}
90
+
91
+ Rules:
92
+ - Preserve meaning accurately
93
+ - Use natural language
94
+ - Do NOT explain
95
+ - Return ONLY translated text
96
+ """
97
+
98
  try:
99
+ response = client.text_generation(
100
+ prompt,
101
+ max_new_tokens=150, # ⚑ optimized for speed
102
+ temperature=0.2,
103
+ top_p=0.9
104
  )
105
 
106
+ translated = response.strip()
107
 
108
  except Exception as e:
109
  translated = f"❌ Translation failed: {str(e)}"
 
117
  # ==============================
118
  st.set_page_config(page_title="AI Translator", layout="wide")
119
 
120
+ st.title("🌍 AI Translator with Voice (Gemma 7B)")
121
 
122
  tab1, tab2 = st.tabs(["πŸ“ Text Input", "🎀 Voice Input"])
123
 
 
127
  # TEXT INPUT
128
  # ------------------------------
129
  with tab1:
130
+ input_text = st.text_area("Enter text", height=150)
131
 
132
  # ------------------------------
133
  # VOICE INPUT
 
149
  # ------------------------------
150
  target_lang = st.selectbox(
151
  "Target Language",
152
+ ["English", "Tamil", "Hindi", "French", "Arabic", "Spanish", "German"]
153
  )
154
 
155
  # ------------------------------
156
+ # TRANSLATE
157
  # ------------------------------
158
  if st.button("Translate"):
159
  if not input_text.strip():