reab5555's picture
Update app.py
bb62875 verified
raw
history blame
1.66 kB
import gradio as gr
from processing import process_input
from visualization import update_visibility_and_charts
def create_gradio_interface():
with gr.Blocks() as demo:
gr.Markdown("# Conversation Analysis")
with gr.Row():
input_file = gr.File(label="Upload File")
submit_button = gr.Button("Analyze")
status_output = gr.Textbox(label="Status")
exec_time_output = gr.Textbox(label="Execution Time")
lang_output = gr.Textbox(label="Detected Language")
transcription_output = gr.Textbox(label="Transcription", lines=10)
speaker_outputs = []
for speaker in range(3):
with gr.Group(visible=True, label=f"Speaker {speaker + 1}"):
for _ in range(3): # 3 analysis types
speaker_outputs.extend([
gr.Plot(visible=False),
gr.Plot(visible=False),
gr.Textbox(visible=False)
])
def process_and_update(file):
status, exec_time, lang, attachments, bigfive, personalities, transcription = process_input(file)
return update_visibility_and_charts(status, exec_time, lang, transcription, attachments, bigfive, personalities)
submit_button.click(
process_and_update,
inputs=[input_file],
outputs=[status_output, exec_time_output, lang_output, transcription_output] + speaker_outputs
)
return demo
# The main execution of the script
if __name__ == "__main__":
demo = create_gradio_interface()
demo.launch()