|
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() |
|
|