talk_to_NP / app.py
textToSQL's picture
Update app.py
869e886
raw
history blame
1.87 kB
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):
model = whisper.load_model("medium")
result = model.transcribe(audio)
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()