Spaces:
Runtime error
Runtime error
import whisper | |
import gradio as gr | |
import openai | |
import os | |
openai.api_key = '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' | |
# load model and processor | |
model = whisper.load_model("medium") | |
def get_completion(prompt, model='gpt-3.5-turbo'): | |
messages = [{"role": "user", "content": prompt}] | |
response = openai.ChatCompletion.create( | |
model = model, | |
messages = messages, | |
temperature = 0, | |
) | |
return response.choices[0].message['content'] | |
def transcribe(audio): | |
#time.sleep(3) | |
# load audio and pad/trim it to fit 30 seconds | |
audio = whisper.load_audio(audio) | |
audio = whisper.pad_or_trim(audio) | |
# make log-Mel spectrogram and move to the same device as the model | |
mel = whisper.log_mel_spectrogram(audio).to(model.device) | |
# detect the spoken language | |
_, probs = model.detect_language(mel) | |
print(f"Detected language: {max(probs, key=probs.get)}") | |
# decode the audio | |
options = whisper.DecodingOptions(fp16 = True) | |
result = whisper.decode(model, mel, options) | |
return result.text | |
# gr.Interface( | |
# title = 'Talk to NP', | |
# fn=transcribe, | |
# inputs=[ | |
# gr.inputs.Audio(source="microphone", type="filepath") | |
# ], | |
# outputs=[ | |
# "textbox" | |
# ], | |
# live=True).launch() | |
def speech_to_text(speech): | |
text = asr(speech)["text"] | |
return text | |
def text_to_sentiment(text): | |
return classifier(text)[0]["label"] | |
demo = gr.Blocks() | |
with demo: | |
audio_file = gr.Audio(type="filepath") | |
text1 = gr.Textbox() | |
text2 = gr.Textbox() | |
prompt = f""" | |
You are a world class nurse practitioner. You are provided with text delimited by triple quotes. \ | |
Summarize the text and put it in a table format with rows as follows: \ | |
1. Patient identification: | |
2. Chief complaint: | |
3. Medical history: | |
4. Family history: | |
5. Social history: | |
6. Review of systems: | |
7. Current medications: | |
8. Vaccination status: | |
9. Emotional well-being: | |
10. Patient concerns and expectations: | |
\"\"\"{text1}\"\"\" | |
""" | |
b1 = gr.Button("Transcribe audio") | |
b2 = gr.Button("Summarize") | |
b1.click(transcribe, inputs=audio_file, outputs=text1) | |
b2.click(get_completion, inputs=text1, outputs=text2) | |
demo.launch() | |