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 = False) | |
| 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() | |