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

Update src/streamlit_app.py

Browse files
Files changed (1) hide show
  1. src/streamlit_app.py +36 -24
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", # βœ… FAST GEMMA MODEL
22
  token=HF_TOKEN
23
  )
24
 
@@ -68,38 +68,42 @@ def speech_to_text(audio_file):
68
  return text
69
 
70
  # ==============================
71
- # TRANSLATION FUNCTION (GEMMA)
 
 
 
 
 
 
 
 
 
 
 
 
 
72
  # ==============================
73
  def translate(text, target_lang):
74
 
 
75
  try:
76
  src_lang = detect(text)
77
  except:
78
- src_lang = "unknown"
79
-
80
- memory = retrieve_memory(text)
81
-
82
- prompt = f"""
83
- You are an expert translator.
84
 
85
- Translate the following text into {target_lang}.
86
 
87
- Text:
88
- {text}
89
-
90
- IMPORTANT:
91
- - Only return translated text
92
- - Do not explain anything
93
- """
94
 
95
  try:
96
- response = client.text_generation(
97
- prompt,
98
- max_new_tokens=200,
99
- temperature=0.2
 
100
  )
101
 
102
- translated = response.strip()
103
 
104
  except Exception as e:
105
  translated = f"❌ Translation failed: {str(e)}"
@@ -113,17 +117,21 @@ IMPORTANT:
113
  # ==============================
114
  st.set_page_config(page_title="AI Translator", layout="wide")
115
 
116
- st.title("🌍 AI Translator with Voice")
117
 
118
  tab1, tab2 = st.tabs(["πŸ“ Text Input", "🎀 Voice Input"])
119
 
120
  input_text = ""
121
 
 
122
  # TEXT INPUT
 
123
  with tab1:
124
  input_text = st.text_area("Enter text")
125
 
 
126
  # VOICE INPUT
 
127
  with tab2:
128
  audio_file = st.file_uploader("Upload audio (wav/mp3)", type=["wav", "mp3"])
129
 
@@ -136,13 +144,17 @@ with tab2:
136
  st.success("Recognized Text:")
137
  st.write(input_text)
138
 
 
139
  # TARGET LANGUAGE
 
140
  target_lang = st.selectbox(
141
  "Target Language",
142
- ["English", "Tamil", "Hindi", "French", "Arabic", "Spanish", "German"]
143
  )
144
 
145
- # TRANSLATE
 
 
146
  if st.button("Translate"):
147
  if not input_text.strip():
148
  st.warning("Please provide input text or audio")
 
18
  st.stop()
19
 
20
  client = InferenceClient(
21
+ model="google-t5/t5-base",
22
  token=HF_TOKEN
23
  )
24
 
 
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
  # ==============================
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
 
124
  input_text = ""
125
 
126
+ # ------------------------------
127
  # TEXT INPUT
128
+ # ------------------------------
129
  with tab1:
130
  input_text = st.text_area("Enter text")
131
 
132
+ # ------------------------------
133
  # VOICE INPUT
134
+ # ------------------------------
135
  with tab2:
136
  audio_file = st.file_uploader("Upload audio (wav/mp3)", type=["wav", "mp3"])
137
 
 
144
  st.success("Recognized Text:")
145
  st.write(input_text)
146
 
147
+ # ------------------------------
148
  # TARGET LANGUAGE
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():
160
  st.warning("Please provide input text or audio")