Dibiddo commited on
Commit
0191540
ยท
verified ยท
1 Parent(s): 3e2ff7c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +9 -27
app.py CHANGED
@@ -1,6 +1,6 @@
1
  import torch
2
- from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
3
- from transformers import AutoModelForSpeechSeq2Seq, AutoProcessor
4
  from datasets import load_dataset
5
  import spacy
6
  import gradio as gr
@@ -26,6 +26,8 @@ whisper_pipe = pipeline(
26
  )
27
 
28
  # DeepSeek-V3 ๆจกๅž‹ๅˆๅง‹ๅŒ–๏ผˆๆ–‡ๆœฌ็”Ÿๆˆ๏ผ‰
 
 
29
  try:
30
  deepseek_pipe = pipeline("text-generation", model="deepseek-ai/DeepSeek-V3", trust_remote_code=True)
31
  except Exception as e:
@@ -34,13 +36,12 @@ except Exception as e:
34
  # spaCy ๅˆๅง‹ๅŒ–๏ผˆๆ–‡ๆœฌๅˆ†้กž่ˆ‡ๆจ™็ฑค๏ผ‰
35
  nlp = spacy.load("en_core_web_sm")
36
 
37
- # ๅฎš็พฉ่™•็†ๅ‡ฝๆ•ธ
38
  def process_audio(audio_file):
39
  # ่ชž้Ÿณ่ฝ‰ๆ–‡ๅญ—
40
  result = whisper_pipe(audio_file)["text"]
41
 
42
  # ไฝฟ็”จ DeepSeek ็”Ÿๆˆๅ›žๆ‡‰๏ผˆๅฆ‚ๆžœๆˆๅŠŸๅŠ ่ผ‰ๆจกๅž‹๏ผ‰
43
- try:
44
  messages = [{"role": "user", "content": result}]
45
  deepseek_response = deepseek_pipe(messages)[0]["generated_text"]
46
 
@@ -48,24 +49,10 @@ def process_audio(audio_file):
48
  doc = nlp(deepseek_response)
49
  entities = [(ent.text, ent.label_) for ent in doc.ents]
50
 
51
- return result, deepseek_response, entities
52
-
53
- except Exception as e:
54
- return result, f"้Œฏ่ชค๏ผš็„กๆณ•็”Ÿๆˆๅ›žๆ‡‰ - {e}", []
55
-
56
- # Gradio ็•Œ้ข่จญ่จˆ
57
- def interface(audio_file):
58
- transcription_result_list # ๅฐ‡็ตๆžœๅŒ…่ฃ็‚บๅญ—ๅ…ธไปฅ้ฉๆ‡‰ Gradio ่ผธๅ‡บๆ ผๅผ
59
-
60
- try:
61
- transcription_result_list # ้€™่ฃก้œ€่ฆไฟฎๆ”นไปฅ้ฉๆ‡‰ๆ–ฐ็š„่ฟ”ๅ›žๆ ผๅผ
62
-
63
- transcription_result_dict # ้€™่ฃก้œ€่ฆไฟฎๆ”นไปฅ้ฉๆ‡‰ๆ–ฐ็š„่ฟ”ๅ›žๆ ผๅผ
64
-
65
  return {
66
- "Transcription (Whisper)": transcription_result_dict["Transcription (Whisper)"],
67
- "AI Response (DeepSeek)": transcription_result_dict["AI Response (DeepSeek)"],
68
- "Extracted Entities (spaCy)": transcription_result_dict["Extracted Entities (spaCy)"],
69
 
70
  }
71
 
@@ -90,9 +77,4 @@ with gr.Blocks() as app:
90
  audio_input=gr.Audio(source="microphone", type="filepath", label="ไธŠๅ‚ณ่ชž้Ÿณ")
91
  output_text=gr.JSON(label="็ตๆžœ")
92
 
93
- submit_button=gr.Button("ๆไบค")
94
- submit_button.click(fn=lambda x: process_audio(x), inputs=[audio_input], outputs=[output_text])
95
-
96
-
97
- if __name__ == "__main__":
98
- app.launch()
 
1
  import torch
2
+ from transformers import AutoModelForSpeechSeq2Seq, AutoProcessor, pipeline
3
+ from transformers import pipeline
4
  from datasets import load_dataset
5
  import spacy
6
  import gradio as gr
 
26
  )
27
 
28
  # DeepSeek-V3 ๆจกๅž‹ๅˆๅง‹ๅŒ–๏ผˆๆ–‡ๆœฌ็”Ÿๆˆ๏ผ‰
29
+ deepseek_pipe = None # ้ ่จญๅ€ผ๏ผŒไปฅ้˜ฒๆจกๅž‹ๅŠ ่ผ‰ๅคฑๆ•—
30
+
31
  try:
32
  deepseek_pipe = pipeline("text-generation", model="deepseek-ai/DeepSeek-V3", trust_remote_code=True)
33
  except Exception as e:
 
36
  # spaCy ๅˆๅง‹ๅŒ–๏ผˆๆ–‡ๆœฌๅˆ†้กž่ˆ‡ๆจ™็ฑค๏ผ‰
37
  nlp = spacy.load("en_core_web_sm")
38
 
 
39
  def process_audio(audio_file):
40
  # ่ชž้Ÿณ่ฝ‰ๆ–‡ๅญ—
41
  result = whisper_pipe(audio_file)["text"]
42
 
43
  # ไฝฟ็”จ DeepSeek ็”Ÿๆˆๅ›žๆ‡‰๏ผˆๅฆ‚ๆžœๆˆๅŠŸๅŠ ่ผ‰ๆจกๅž‹๏ผ‰
44
+ if deepseek_pipe is not None:
45
  messages = [{"role": "user", "content": result}]
46
  deepseek_response = deepseek_pipe(messages)[0]["generated_text"]
47
 
 
49
  doc = nlp(deepseek_response)
50
  entities = [(ent.text, ent.label_) for ent in doc.ents]
51
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
52
  return {
53
+ "Transcription (Whisper)": result,
54
+ "AI Response (DeepSeek)": deepseek_response,
55
+ "Extracted Entities (spaCy)": entities,
56
 
57
  }
58
 
 
77
  audio_input=gr.Audio(source="microphone", type="filepath", label="ไธŠๅ‚ณ่ชž้Ÿณ")
78
  output_text=gr.JSON(label="็ตๆžœ")
79
 
80
+ submit_button=gr.Button("