EYEDOL commited on
Commit
9dc2bc4
·
verified ·
1 Parent(s): e6292a4

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +5 -61
app.py CHANGED
@@ -18,7 +18,7 @@ import threading
18
 
19
  # --- Login to Hugging Face using secret ---
20
  # Make sure HF_TOKEN is set in your Hugging Face Space > Settings > Repository secrets
21
- hf_token = os.environ.get("hugface") # Using "HF_TOKEN" is the standard on Spaces
22
  if not hf_token:
23
  raise ValueError("HF_TOKEN not found. Please set it in Hugging Face Space repository secrets.")
24
  login(token=hf_token)
@@ -26,7 +26,7 @@ print("Successfully logged into Hugging Face Hub!")
26
 
27
  # --- Configuration ---
28
  STT_MODEL_ID = "EYEDOL/SALAMA_C3"
29
- LLM_MODEL_ID = "google/gemma-1.1-2b-it"
30
  TTS_TOKENIZER_ID = "facebook/mms-tts-swh"
31
  TTS_ONNX_MODEL_PATH = "swahili_tts.onnx"
32
 
@@ -116,20 +116,12 @@ class WeeboAssistant:
116
  return output_path
117
 
118
  def get_llm_response(self, chat_history):
119
- # <-- START OF FIX: Rebuild message history without a 'system' role -->
120
- messages = []
121
  for user_msg, assistant_msg in chat_history:
122
- # Add the user's message
123
  messages.append({"role": "user", "content": user_msg})
124
- # Add the assistant's message if it exists
125
  if assistant_msg:
126
  messages.append({"role": "assistant", "content": assistant_msg})
127
-
128
- # Prepend the system prompt to the content of the very first user message.
129
- # This is the correct way to use a system prompt with Gemma models.
130
- if messages:
131
- messages[0]["content"] = f"{self.SYSTEM_PROMPT}\n\n{messages[0]['content']}"
132
- # <-- END OF FIX -->
133
 
134
  prompt = self.llm_pipeline.tokenizer.apply_chat_template(
135
  messages, tokenize=False, add_generation_prompt=True
@@ -229,52 +221,4 @@ with gr.Blocks(theme=gr.themes.Soft(), title="Msaidizi wa Kiswahili") as demo:
229
  gr.Markdown("### Utengenezaji wa Sauti (Speech Synthesis)")
230
  tool_t2s_text_in = gr.Textbox(label="Maandishi ya Kuingiza (Input Text)", placeholder="Andika Kiswahili hapa...")
231
  tool_t2s_audio_out = gr.Audio(type="filepath", label="Sauti Iliyotengenezwa (Synthesized Audio)", autoplay=False)
232
- tool_t2s_btn = gr.Button("Tengeneza Sauti (Synthesize)")
233
-
234
- s2s_submit_btn.click(
235
- fn=s2s_pipeline,
236
- inputs=[s2s_audio_in, s2s_chatbot],
237
- outputs=[s2s_chatbot, s2s_audio_out, s2s_text_out],
238
- queue=True
239
- ).then(
240
- fn=lambda: gr.Audio(value=None),
241
- inputs=None,
242
- outputs=s2s_audio_in
243
- )
244
-
245
- t2t_submit_btn.click(
246
- fn=t2t_pipeline,
247
- inputs=[t2t_text_in, t2t_chatbot],
248
- outputs=[t2t_chatbot],
249
- queue=True
250
- ).then(
251
- fn=clear_textbox,
252
- inputs=None,
253
- outputs=t2t_text_in
254
- )
255
-
256
- t2t_text_in.submit(
257
- fn=t2t_pipeline,
258
- inputs=[t2t_text_in, t2t_chatbot],
259
- outputs=[t2t_chatbot],
260
- queue=True
261
- ).then(
262
- fn=clear_textbox,
263
- inputs=None,
264
- outputs=t2t_text_in
265
- )
266
-
267
- tool_s2t_btn.click(
268
- fn=assistant.transcribe_audio,
269
- inputs=tool_s2t_audio_in,
270
- outputs=tool_s2t_text_out,
271
- queue=True
272
- )
273
- tool_t2s_btn.click(
274
- fn=assistant.generate_speech,
275
- inputs=tool_t2s_text_in,
276
- outputs=tool_t2s_audio_out,
277
- queue=True
278
- )
279
-
280
- demo.queue().launch(debug=True)
 
18
 
19
  # --- Login to Hugging Face using secret ---
20
  # Make sure HF_TOKEN is set in your Hugging Face Space > Settings > Repository secrets
21
+ hf_token = os.environ.get("hugface")
22
  if not hf_token:
23
  raise ValueError("HF_TOKEN not found. Please set it in Hugging Face Space repository secrets.")
24
  login(token=hf_token)
 
26
 
27
  # --- Configuration ---
28
  STT_MODEL_ID = "EYEDOL/SALAMA_C3"
29
+ LLM_MODEL_ID = "meta-llama/Llama-3.2-1B-Instruct" # <-- FIX: Switched to Llama-3.2
30
  TTS_TOKENIZER_ID = "facebook/mms-tts-swh"
31
  TTS_ONNX_MODEL_PATH = "swahili_tts.onnx"
32
 
 
116
  return output_path
117
 
118
  def get_llm_response(self, chat_history):
119
+ # <-- FIX: Reverted to using a 'system' role, which is correct for Llama 3 -->
120
+ messages = [{'role': 'system', 'content': self.SYSTEM_PROMPT}]
121
  for user_msg, assistant_msg in chat_history:
 
122
  messages.append({"role": "user", "content": user_msg})
 
123
  if assistant_msg:
124
  messages.append({"role": "assistant", "content": assistant_msg})
 
 
 
 
 
 
125
 
126
  prompt = self.llm_pipeline.tokenizer.apply_chat_template(
127
  messages, tokenize=False, add_generation_prompt=True
 
221
  gr.Markdown("### Utengenezaji wa Sauti (Speech Synthesis)")
222
  tool_t2s_text_in = gr.Textbox(label="Maandishi ya Kuingiza (Input Text)", placeholder="Andika Kiswahili hapa...")
223
  tool_t2s_audio_out = gr.Audio(type="filepath", label="Sauti Iliyotengenezwa (Synthesized Audio)", autoplay=False)
224
+ tool_t2s_btn = gr.Button("Tengeneza Sauti