import gradio as gr from utils import * with gr.Blocks() as demo: temperature = gr.Number(visible=False) humidite = gr.Number(visible=False) meteo = gr.Textbox(visible=False) gr.Markdown( "## GAIA Démo \nDémo avec Mistral AI & LlamaIndex afin d'estimer les risques sanitaires d'un élevage.") with gr.Row(equal_height=True): with gr.Column(): with gr.Tab("Adresse"): address = gr.Textbox( label="Address", info="Dans le cas ou vous ne connaissez pas vos coordonnées GPS, rentrez votre adresse !" ) with gr.Tab("Coordonnées GPS"): lat = gr.Number(value=48.832408, label="Latitude", info="La latitude de votre élevage") lon = gr.Number(value=2.28619, label="Longitude", info="La longitude de votre élevage") type_elevage = gr.Radio(choices=[ "Bovin", "Ovin", "Caprin", "Porcin", "Volailles", "Equin" ], label="Type d'élevage", info="Quel est votre type d'élevage?") btn = gr.Button(value="Submit", size="sm") with gr.Column(): with gr.Tab("Map"): map = gr.HTML() with gr.Tab("Weather data"): fig = gr.Plot(label="Météo") with gr.Column(): chatbot = gr.Chatbot() msg = gr.Textbox( placeholder="Vous pouvez me poser une question, appuyez sur Entrée pour valider") clear = gr.ClearButton([msg, chatbot]) demo.load(on_init, [lat, lon, address], [map, fig, temperature, humidite]) btn.click(on_init, [lat, lon, address], [map, fig]) msg.submit(respond, [type_elevage, temperature, humidite, meteo, msg, chatbot], [msg, chatbot]) demo.title = "Démo GAIA - Les 5 Mousquetaires" demo.launch()