seiching commited on
Commit
5e5f20d
1 Parent(s): 44d039c

add summary

Browse files
Files changed (1) hide show
  1. app.py +27 -5
app.py CHANGED
@@ -41,6 +41,24 @@ def call_openai_api(openaiobj,transcription):
41
  ]
42
  )
43
  return response.choices[0].message.content
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
44
 
45
 
46
  def split_into_chunks(text, tokens=3500):
@@ -70,8 +88,11 @@ def process_chunks(openaikeystr,inputtext):
70
  chunks = split_into_chunks(text)
71
  response=''
72
  for chunk in chunks:
73
- response=response+call_openai_api(openaiobj,chunk)
74
- return response
 
 
 
75
  # # Processes chunks in parallel
76
  # with ThreadPoolExecutor() as executor:
77
  # responses = list(executor.map(call_openai_api, [openaiobj,chunks]))
@@ -188,7 +209,8 @@ def writenotes( apikeystr,inputscript):
188
  print('ok')
189
  if len(inputscript)>10:
190
  transcribe_text=inputscript
191
- ainotestext=process_chunks(apikeystr,transcribe_text)
 
192
  # ainotestext=inputscript
193
  #ainotestext=""
194
  # with open('asr_resul.txt', 'w') as f:
@@ -200,13 +222,13 @@ def writenotes( apikeystr,inputscript):
200
  return ainotestext
201
  ainotes = gr.Interface(
202
  fn=writenotes,
203
- inputs=[gr.Textbox(label="OPEN AI API KEY",placeholder="請輸入sk..."),gr.Textbox(label="逐字稿",placeholder="請輸入逐字稿")],
204
  outputs="text",
205
  layout="horizontal",
206
  theme="huggingface",
207
  title="會議紀錄小幫手AINotes",
208
  description=(
209
- "可由麥克風錄音或上傳語音檔"
210
  f" 使用這個模型 [{MODEL_NAME}](https://huggingface.co/{MODEL_NAME}) 先做語音辨識再做會議紀錄摘要"
211
  " 長度沒有限制"
212
  ),
 
41
  ]
42
  )
43
  return response.choices[0].message.content
44
+ def call_openai_summary(openaiobj,transcription):
45
+
46
+ response = openaiobj.chat.completions.create(
47
+ model="gpt-3.5-turbo",
48
+ temperature=0,
49
+ messages=[
50
+ {
51
+ "role": "system",
52
+ "content": "你是專業的文書處理員,請根據由語音辨識軟體將會議錄音所轉錄的逐字稿,摘錄重點,要用比較正式及容易閱讀的寫法,避免口語化"
53
+ },
54
+ {
55
+ "role": "user",
56
+ "content": transcription
57
+ }
58
+ ]
59
+ )
60
+ return response.choices[0].message.content
61
+
62
 
63
 
64
  def split_into_chunks(text, tokens=3500):
 
88
  chunks = split_into_chunks(text)
89
  response=''
90
  for chunk in chunks:
91
+ #response=response+call_openai_api(openaiobj,chunk)
92
+ response=response+call_openai_summary(openaiobj,chunk)
93
+
94
+ finalresponse=response+' summary \n\n' +call_openai_api(openaiobj,response)
95
+ return finalresponse
96
  # # Processes chunks in parallel
97
  # with ThreadPoolExecutor() as executor:
98
  # responses = list(executor.map(call_openai_api, [openaiobj,chunks]))
 
209
  print('ok')
210
  if len(inputscript)>10:
211
  transcribe_text=inputscript
212
+
213
+ ainotestext=process_chunks(apikeystr,transcribe_text)
214
  # ainotestext=inputscript
215
  #ainotestext=""
216
  # with open('asr_resul.txt', 'w') as f:
 
222
  return ainotestext
223
  ainotes = gr.Interface(
224
  fn=writenotes,
225
+ inputs=[gr.Textbox(label="OPEN AI API KEY",placeholder="請輸入sk..."),gr.Textbox(label="逐字稿",placeholder="若沒有做語音辨識,請輸入逐字稿")],
226
  outputs="text",
227
  layout="horizontal",
228
  theme="huggingface",
229
  title="會議紀錄小幫手AINotes",
230
  description=(
231
+ "可由麥克風錄音或上傳語音檔若有逐字稿可以直接貼在逐字稿"
232
  f" 使用這個模型 [{MODEL_NAME}](https://huggingface.co/{MODEL_NAME}) 先做語音辨識再做會議紀錄摘要"
233
  " 長度沒有限制"
234
  ),