phamngoctukts commited on
Commit
e8c9642
1 Parent(s): 40dbcf9

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -16
app.py CHANGED
@@ -74,6 +74,7 @@ def process_audio(audio:tuple,state:AppState,image:Image):
74
  pause_detected = determine_pause(state.stream, state.sampling_rate, state)
75
  state.pause_detected = pause_detected
76
  if state.pause_detected and state.started_talking:
 
77
  state.recording = False
78
  return state, gr.Audio(recording=False)
79
  return state, None
@@ -263,7 +264,7 @@ def update_model_choices(provider):
263
  }
264
  models = provider_models.get(provider, [])
265
  return gr.Dropdown(choices=models, value=models[0] if models else "")
266
-
267
  title = "Chat tiếng việt by tuphamkts"
268
  description = "Muốn vẽ nói: Chuyển sang chế độ vẽ. Muốn chat nói: Chuyển sang chế độ nói. Chế độ gõ: Tôi muốn dùng bàn phím, chế độ nói: Tôi muốn nói chuyện. Ghi chú: Chỉ dừng chương trình khi tôi đang nói (lịch sử chat sẽ bị xóa khi dừng chương trình)."
269
  examples = ["Chuyển sang chế độ vẽ","Chuyển sang chế độ nói"]
@@ -275,7 +276,6 @@ with gr.Blocks(title=title) as demo:
275
  with gr.Row():
276
  llm_provider = gr.Dropdown(choices=["Hugging Face", "SambaNova"], label="Nguồn model", value="Hugging Face")
277
  model = gr.Dropdown(label="Chọn Model", choices=["Qwen/Qwen2.5-72B-Instruct","meta-llama/Meta-Llama-3.1-70B-Instruct","mistralai/Mixtral-8x7B-Instruct-v0.1","mistralai/Mistral-7B-Instruct-v0.3"], value="Qwen/Qwen2.5-72B-Instruct")
278
- prompt_types = ["Long", "Short", "Medium", "OnlyObjects", "NoFigure", "Landscape", "Fantasy"]
279
  prompt_type = gr.Dropdown(choices=prompt_types, label="Phong cách", value="Medium", interactive=True)
280
  input_prompt = gr.Textbox(label="Nhập nội dung muốn vẽ",value="Một cô gái", type="text"),
281
  generate_prompt = gr.Button("Tạo Prompt", variant="stop")
@@ -298,16 +298,16 @@ with gr.Blocks(title=title) as demo:
298
  )
299
  stream = input_audio.stream(
300
  process_audio,
301
- [input_audio, state,input_image],
302
  [state,input_audio],
303
  stream_every=1,
304
  time_limit=30,
305
  )
306
 
307
  respond = input_audio.stop_recording(
308
- fn=response_audio,
309
- inputs=[state],
310
- outputs=[state, output_audio],
311
  )
312
  respond.then(lambda s: s.conversation, [state], [chatbot])
313
  respond.then(lambda s: s.image_out, [state], [output_image])
@@ -328,27 +328,27 @@ with gr.Blocks(title=title) as demo:
328
  cancel.click(
329
  lambda: (AppState(stopped=True, recording=False, started_talking = False), gr.Audio(recording=False), gr.update(interactive=False)),
330
  None,[state, input_audio, cancel],
331
- cancels=[respond, stream, startrecord] # Thêm startrecord và stream vào cancels
332
  )
333
 
334
  sub = submit.click(
335
- fn=response_text,
336
- inputs=[state, input_text[0], input_image, input_prompt[0]],
337
- outputs=[state, output_audio]
338
  )
339
  sub.then(lambda s: s.conversation, [state], [chatbot])
340
  sub.then(lambda s: s.image_out, [state], [output_image])
341
 
342
  generator = generate_prompt.click(
343
- fn=prompt_hugingface,
344
- inputs=[input_prompt[0],llm_provider,model,prompt_type],
345
- outputs=[input_text[0]]
346
  )
347
 
348
  llm_provider.change(
349
  update_model_choices,
350
- inputs=[llm_provider],
351
- outputs=[model]
352
  )
353
  gr.Examples(
354
  examples=examples,
@@ -356,4 +356,4 @@ with gr.Blocks(title=title) as demo:
356
  )
357
 
358
  if __name__ == "__main__":
359
- demo.launch(server_name="0.0.0.0", server_port=7860, share=False)
 
74
  pause_detected = determine_pause(state.stream, state.sampling_rate, state)
75
  state.pause_detected = pause_detected
76
  if state.pause_detected and state.started_talking:
77
+ state.started_talking = False
78
  state.recording = False
79
  return state, gr.Audio(recording=False)
80
  return state, None
 
264
  }
265
  models = provider_models.get(provider, [])
266
  return gr.Dropdown(choices=models, value=models[0] if models else "")
267
+ prompt_types = ["Long", "Short", "Medium", "OnlyObjects", "NoFigure", "Landscape", "Fantasy"]
268
  title = "Chat tiếng việt by tuphamkts"
269
  description = "Muốn vẽ nói: Chuyển sang chế độ vẽ. Muốn chat nói: Chuyển sang chế độ nói. Chế độ gõ: Tôi muốn dùng bàn phím, chế độ nói: Tôi muốn nói chuyện. Ghi chú: Chỉ dừng chương trình khi tôi đang nói (lịch sử chat sẽ bị xóa khi dừng chương trình)."
270
  examples = ["Chuyển sang chế độ vẽ","Chuyển sang chế độ nói"]
 
276
  with gr.Row():
277
  llm_provider = gr.Dropdown(choices=["Hugging Face", "SambaNova"], label="Nguồn model", value="Hugging Face")
278
  model = gr.Dropdown(label="Chọn Model", choices=["Qwen/Qwen2.5-72B-Instruct","meta-llama/Meta-Llama-3.1-70B-Instruct","mistralai/Mixtral-8x7B-Instruct-v0.1","mistralai/Mistral-7B-Instruct-v0.3"], value="Qwen/Qwen2.5-72B-Instruct")
 
279
  prompt_type = gr.Dropdown(choices=prompt_types, label="Phong cách", value="Medium", interactive=True)
280
  input_prompt = gr.Textbox(label="Nhập nội dung muốn vẽ",value="Một cô gái", type="text"),
281
  generate_prompt = gr.Button("Tạo Prompt", variant="stop")
 
298
  )
299
  stream = input_audio.stream(
300
  process_audio,
301
+ [input_audio,state,input_image],
302
  [state,input_audio],
303
  stream_every=1,
304
  time_limit=30,
305
  )
306
 
307
  respond = input_audio.stop_recording(
308
+ response_audio,
309
+ [state],
310
+ [state, output_audio],
311
  )
312
  respond.then(lambda s: s.conversation, [state], [chatbot])
313
  respond.then(lambda s: s.image_out, [state], [output_image])
 
328
  cancel.click(
329
  lambda: (AppState(stopped=True, recording=False, started_talking = False), gr.Audio(recording=False), gr.update(interactive=False)),
330
  None,[state, input_audio, cancel],
331
+ cancels=[respond, stream, startrecord, restart] # Thêm startrecord và stream vào cancels
332
  )
333
 
334
  sub = submit.click(
335
+ response_text,
336
+ [state, input_text[0], input_image, input_prompt[0]],
337
+ [state, output_audio],
338
  )
339
  sub.then(lambda s: s.conversation, [state], [chatbot])
340
  sub.then(lambda s: s.image_out, [state], [output_image])
341
 
342
  generator = generate_prompt.click(
343
+ prompt_hugingface,
344
+ [input_prompt[0],llm_provider,model,prompt_type],
345
+ [input_text[0]]
346
  )
347
 
348
  llm_provider.change(
349
  update_model_choices,
350
+ [llm_provider],
351
+ [model]
352
  )
353
  gr.Examples(
354
  examples=examples,
 
356
  )
357
 
358
  if __name__ == "__main__":
359
+ demo.launch()