File size: 2,143 Bytes
efa9b10
e798441
 
 
68bf5c0
efa9b10
 
 
 
 
 
 
 
6fdd23e
efa9b10
 
6fdd23e
efa9b10
 
 
 
 
 
6fdd23e
 
2b6d359
 
 
 
 
 
efa9b10
 
6fdd23e
efa9b10
 
 
2b6d359
6fdd23e
 
 
2b6d359
efa9b10
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import gradio as gr
from scrape_3gpp import *
from excel_chat import *
from classification import *
from chart_generation import *


with gr.Blocks() as demo:
    gr.Markdown("## Extaction, Classification and AI tool")
    with gr.Tab("File extraction"):
        gr.Markdown(" Put either just a link, or a link and an excel file with an 'Actions' column")
        tb_url = gr.Textbox(label="URL (e.g. https://www.3gpp.org/ftp/TSG_SA/WG1_Serv/TSGS1_105_Athens/Docs)")
        btn_extract = gr.Button("Extract excel from URL")
        tb_status_message = gr.Textbox(label="Status")

    with gr.Tab("Query on columns with mistral"):
        dd_source_ask = gr.Dropdown(label="Source Column(s)", multiselect=True)
        tb_destcol = gr.Textbox(label="Destination column label (e.g. Summary, ELI5, PAB)")
        tb_prompt = gr.Textbox(label="Prompt")
        tb_filename = gr.Textbox(label="Specific File Name (Optional)")
        mist_button = gr.Button("Ask AI")
            
    with gr.Tab("Classification by topic"):
        dd_source_class = gr.Dropdown(label="Source Column(s)", multiselect=False)
        btn_classif = gr.Button("Categorize")

    with gr.Tab("Charts Generation"):
        gr.Markdown("## Deeper Analysis coming soon...")
        dd_label = gr.Dropdown(label="Source Column", multiselect=False)
        btn_chart = gr.Button("Generate Bar Plot")
        plt_figure = gr.Plot()
        
    with gr.Accordion("Excel Preview", open=False):
        df_output = gr.DataFrame()
        
    fi_excel = gr.File(label="Excel File")

    fi_excel.change(get_columns, inputs=[fi_excel], outputs=[dd_source_ask, dd_source_class, dd_label, df_output])
    btn_extract.click(extractionPrincipale, inputs=[tb_url, fi_excel], outputs=[fi_excel, tb_status_message])
    mist_button.click(chat_with_mistral, inputs=[dd_source_ask, tb_destcol, tb_prompt, tb_filename, fi_excel, tb_url], outputs=[fi_excel, df_output])
    btn_classif.click(classification, inputs=[dd_source_class, fi_excel], outputs=[fi_excel, df_output])
    btn_chart.click(create_bar_plot, inputs=[fi_excel, dd_label], outputs=[plt_figure])


demo.launch(debug=True)