Spaces:
Runtime error
Runtime error
File size: 6,972 Bytes
7af6bd2 e05937f 01bf518 325a821 01bf518 8fa2802 7af6bd2 e05937f 38af3d3 e05937f 2914aec 38af3d3 e05937f 2914aec 38af3d3 2914aec 38af3d3 2914aec 38af3d3 af18735 38af3d3 2914aec e05937f 38af3d3 2914aec 38af3d3 2914aec 38af3d3 2914aec 38af3d3 2914aec a972258 e05937f 38af3d3 e05937f 38af3d3 2914aec 38af3d3 2914aec 38af3d3 e05937f |
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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 |
import gradio as gr
# from mistralai import Mistral, UserMessage
from chatbot_gaia.src.main_flow import kickoff
import pandas as pd
import os
from func_utils import *
from summary_test import generate_irradiance_trend, get_mocked_summary
def go_to_page_1():
return gr.Column(visible=True), gr.Column(visible=False)
with gr.Blocks() as demo:
with gr.Row():
page_1 = gr.Column(visible=True)
with page_1:
gr.HTML(
"""
<style>
/* Custom style for a specific row */
.box {
background-color: #90909b;
border-radius: 10px;
display: flex;
align-content: center;
padding: 20px;
}
.culture_box {
background-color: #52525b;
border-radius: 10px;
display: flex;
align-content: center;
}
.summary {
border: solid 1px;
border-radius: 10px;
padding: 20px;
}
.padding.svelte-phx28p{
padding: 0px;
}
</style>
"""
)
demo.title = "Démo GAIA - Les bénéfices de l'ombrage"
gr.HTML("<h1 style='text-align: center;'>Les bénéfices de l'ombrage</h1>")
gr.HTML(
"<p style=''>Découvrez le potentiel de l'ombrage sur votre exploitation !</p>"
)
with gr.Blocks() as infos:
infos.title = "Informations sur votre exploitation"
gr.HTML("<h2>Renseignez les informations relatives à votre projet</h2>")
with gr.Row(equal_height=True):
with gr.Column(variant="panel", scale=1):
with gr.Row(equal_height=True, elem_classes="box"):
with gr.Tab(label="Adresse", scale=1):
address = gr.Textbox(
label="Addresse",
info="Adresse de votre projet",
)
with gr.Tab(label="Coordonnées GPS", scale=1):
lat = gr.Number(
label="Latitude",
info="Latitude de votre projet",
)
lon = gr.Number(
label="Longitude",
info="Longitude de votre projet",
)
place_btn = gr.Button(
value="Valider la localisation", size="sm"
)
place_cancel_btn = gr.Button(
value="Réinitialiser la localisation", size="sm"
)
with gr.Row(elem_classes="box"):
culture = gr.Dropdown(
label="Culture", scale=1, elem_classes="culture_box", choices=["Blé", "Colza", "Orge"]
)
with gr.Column(variant="panel", scale=3):
map = gr.HTML()
simulation_btn = gr.Button(value="Lancer la simulation", size="lg")
go_to_page_2_btn = gr.Button("Aller aux résultats", visible=False)
page_2 = gr.Column(visible=False)
with page_2:
with gr.Blocks() as results:
results.title = "Résultats"
gr.HTML("<h2>Résultats de la simulation</h2>")
with gr.Row(equal_height=True, elem_classes="box"):
with gr.Tab(label="Analyse générale", scale=1):
with gr.Row(elem_classes="box"):
with gr.Column():
gr.HTML(
"<h2>Synthèse des Prévisions Météorologiques selon le Scénario Pessimiste</h2>"
)
current_situation_summary = gr.Markdown(
elem_classes="summary"
)
with gr.Row(elem_classes="box"):
with gr.Column():
gr.HTML("<h2>Déficit hydrique</h2>")
gr.Plot()
with gr.Column():
gr.HTML("<h2>Rendements</h2>")
gr.Plot()
with gr.Column(elem_classes="box"):
with gr.Row():
gr.HTML("<h2>Bilan climatique</h2>")
with gr.Row():
plot_1 = gr.Plot()
plot_2 = gr.Plot()
with gr.Row():
plot_3 = gr.Plot()
with gr.Tab(label="Analyse avec AgriPv", scale=1):
with gr.Row(elem_classes="box"):
with gr.Column():
gr.HTML("<h2>Synthèse des bénéfices avec ombrage</h2>")
agripv_summary = gr.Markdown(elem_classes="summary")
with gr.Row(elem_classes="box"):
with gr.Column():
gr.HTML("<h2>Déficit hydrique</h2>")
gr.Plot()
with gr.Column():
gr.HTML("<h2>Rendements</h2>")
gr.Plot()
go_to_page_1_btn = gr.Button(
value="Revenir aux informations du projet", size="lg"
)
demo.load(on_init, [lat, lon, address], [lat, lon, map])
place_btn.click(on_init, [lat, lon, address], [lat, lon, map])
place_cancel_btn.click(on_delete, [lat, lon, map], [lat, lon, address, map])
go_to_page_2_btn.click(
fn=go_to_page_2,
inputs="",
outputs=[page_1, page_2],
)
go_to_page_1_btn.click(
fn=go_to_page_1,
inputs="",
outputs=[page_1, page_2],
)
simulation_btn.click(
launch_simulation,
[lat, lon, address, culture],
[
current_situation_summary,
agripv_summary,
plot_1,
plot_2,
plot_3,
page_1,
page_2,
go_to_page_2_btn,
],
)
demo.title = "Démo GAIA - Les bénéfices de l'ombrage"
demo.launch()
|