corfodemo / app.py
sergiolucero's picture
Update app.py
4c067ae verified
raw
history blame
1.94 kB
import gradio as gr
from pydub import AudioSegment
from ailib import whisper_transcribe, summarize, nueva_ficha
import pandas as pd # only for patient list loading
def transcribe(audiofile):
consulta = whisper_transcribe(audiofile)
resumen_consulta = summarize(consulta)
resumen_historial = open('resumen.txt').read()
nueva = nueva_ficha(resumen_historial, resumen_consulta)
return consulta, resumen_consulta, nueva
def display_text(paciente):
resumen_historial = df[df.paciente==paciente]['Resumen'].iloc[0]
historial = df[df.paciente==paciente]['EHR'].iloc[0]
open('resumen.txt', 'w').write(resumen_historial)
return resumen_historial, historial
df = pd.read_csv('pacientes.csv')
pacientes = list(df['paciente'].unique()) # now contains PAC_ID
print('PAX:', pacientes, type(pacientes))
pid_dict = dict(zip(df.paciente, df.pac_id))
################################################
gr.Markdown("**Demo CORFO**")
with gr.Blocks() as demo:
with gr.Row():
audemo = gr.Interface(transcribe,
gr.Audio(sources=["microphone"], type="filepath"),
["text","text","text"]
)
with gr.Row():
with gr.Column(scale=1):
radio = gr.Radio(choices=pacientes,
label="PACIENTE", value=pacientes[0], interactive=True)
with gr.Column(scale=4):
with gr.Row(): # historial+resumen
resumen_trans = gr.Markdown()
texto_nueva_ficha = gr.Markdown()
with gr.Row(): # historial+resumen
with gr.Accordion('Resumen Historial'): # use radio?
left_text = gr.Markdown()
with gr.Accordion('Historial'):
right_text = gr.Markdown()
radio.change(display_text, inputs=radio,
outputs=[left_text, right_text])
demo.launch()