Spaces:
Runtime error
Runtime error
Rim BACCOUR
commited on
final version
Browse files- data/data_yield/rendement_forecast.csv +226 -0
- prompts/summary_prompt.py +1 -1
- summary_test.py +12 -4
- utils/summary.py +5 -2
data/data_yield/rendement_forecast.csv
ADDED
@@ -0,0 +1,226 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
year,yield_simple_forecast,yield_with_shading_forecast,culture
|
2 |
+
2025,22.915000000000003,23.290000000000003,Colza d'hiver
|
3 |
+
2026,23.458333333333332,23.543333333333333,Colza d'hiver
|
4 |
+
2027,22.8325,22.901666666666667,Colza d'hiver
|
5 |
+
2028,24.703333333333333,24.724166666666665,Colza d'hiver
|
6 |
+
2029,22.299166666666668,22.519166666666667,Colza d'hiver
|
7 |
+
2030,22.690833333333334,22.724999999999998,Colza d'hiver
|
8 |
+
2031,22.949166666666667,23.339166666666667,Colza d'hiver
|
9 |
+
2032,21.229166666666668,21.701666666666668,Colza d'hiver
|
10 |
+
2033,24.775000000000002,24.814166666666665,Colza d'hiver
|
11 |
+
2034,26.308333333333334,26.308333333333334,Colza d'hiver
|
12 |
+
2035,22.752499999999998,23.088333333333335,Colza d'hiver
|
13 |
+
2036,23.070833333333336,23.497500000000002,Colza d'hiver
|
14 |
+
2037,23.611666666666668,23.734166666666667,Colza d'hiver
|
15 |
+
2038,21.335833333333337,21.405833333333334,Colza d'hiver
|
16 |
+
2039,21.86,22.060000000000002,Colza d'hiver
|
17 |
+
2040,23.354166666666668,23.504166666666666,Colza d'hiver
|
18 |
+
2041,23.379166666666666,23.548333333333336,Colza d'hiver
|
19 |
+
2042,23.465833333333336,23.63416666666667,Colza d'hiver
|
20 |
+
2043,23.723333333333333,23.873333333333335,Colza d'hiver
|
21 |
+
2044,21.622500000000002,21.763333333333335,Colza d'hiver
|
22 |
+
2045,21.9325,22.148333333333337,Colza d'hiver
|
23 |
+
2046,23.5475,23.653333333333336,Colza d'hiver
|
24 |
+
2047,20.065,20.236666666666668,Colza d'hiver
|
25 |
+
2048,19.060833333333335,19.549166666666668,Colza d'hiver
|
26 |
+
2049,22.608333333333334,22.905,Colza d'hiver
|
27 |
+
2050,23.790833333333335,23.953333333333333,Colza d'hiver
|
28 |
+
2051,22.828333333333333,23.174166666666668,Colza d'hiver
|
29 |
+
2052,22.599166666666665,22.895833333333332,Colza d'hiver
|
30 |
+
2053,21.965,22.190833333333334,Colza d'hiver
|
31 |
+
2054,22.795833333333334,23.14833333333333,Colza d'hiver
|
32 |
+
2055,21.6675,21.820000000000004,Colza d'hiver
|
33 |
+
2056,22.935833333333335,23.031666666666666,Colza d'hiver
|
34 |
+
2057,24.71666666666667,24.74083333333333,Colza d'hiver
|
35 |
+
2058,19.434166666666666,20.023333333333333,Colza d'hiver
|
36 |
+
2059,23.285,23.326666666666668,Colza d'hiver
|
37 |
+
2060,21.528333333333336,21.647499999999997,Colza d'hiver
|
38 |
+
2061,24.955000000000002,24.99,Colza d'hiver
|
39 |
+
2062,22.939166666666665,23.314166666666665,Colza d'hiver
|
40 |
+
2063,21.97,22.198333333333334,Colza d'hiver
|
41 |
+
2064,22.933333333333334,23.293333333333333,Colza d'hiver
|
42 |
+
2065,22.078333333333333,22.3325,Colza d'hiver
|
43 |
+
2066,20.2475,20.466666666666665,Colza d'hiver
|
44 |
+
2067,22.846666666666668,23.19666666666667,Colza d'hiver
|
45 |
+
2068,24.80916666666667,24.855833333333333,Colza d'hiver
|
46 |
+
2069,21.924166666666668,22.141666666666666,Colza d'hiver
|
47 |
+
2070,23.526666666666667,23.628333333333334,Colza d'hiver
|
48 |
+
2071,23.580833333333334,23.69416666666667,Colza d'hiver
|
49 |
+
2072,19.93166666666667,20.2075,Colza d'hiver
|
50 |
+
2073,20.398333333333333,20.645,Colza d'hiver
|
51 |
+
2074,21.22,21.6975,Colza d'hiver
|
52 |
+
2075,21.742500000000003,21.91416666666667,Colza d'hiver
|
53 |
+
2076,22.804166666666664,22.86583333333333,Colza d'hiver
|
54 |
+
2077,23.468333333333334,23.555000000000003,Colza d'hiver
|
55 |
+
2078,18.330833333333334,18.63416666666667,Colza d'hiver
|
56 |
+
2079,21.462500000000002,21.5625,Colza d'hiver
|
57 |
+
2080,23.485833333333336,23.5775,Colza d'hiver
|
58 |
+
2081,22.040000000000003,22.19,Colza d'hiver
|
59 |
+
2082,23.200833333333335,23.632500000000004,Colza d'hiver
|
60 |
+
2083,21.530833333333334,21.646666666666665,Colza d'hiver
|
61 |
+
2084,23.67833333333333,23.815833333333334,Colza d'hiver
|
62 |
+
2085,23.579166666666666,23.691666666666666,Colza d'hiver
|
63 |
+
2086,21.968333333333334,22.10083333333333,Colza d'hiver
|
64 |
+
2087,20.605833333333333,20.918333333333333,Colza d'hiver
|
65 |
+
2088,21.5575,21.6825,Colza d'hiver
|
66 |
+
2089,23.57166666666667,23.679166666666664,Colza d'hiver
|
67 |
+
2090,23.0,23.392500000000002,Colza d'hiver
|
68 |
+
2091,22.121666666666666,22.385833333333334,Colza d'hiver
|
69 |
+
2092,23.415000000000003,23.540000000000003,Colza d'hiver
|
70 |
+
2093,21.254166666666666,21.304166666666667,Colza d'hiver
|
71 |
+
2094,21.811666666666667,21.999166666666667,Colza d'hiver
|
72 |
+
2095,21.735833333333332,21.903333333333336,Colza d'hiver
|
73 |
+
2096,22.820000000000004,22.886666666666667,Colza d'hiver
|
74 |
+
2097,21.721666666666668,21.92833333333333,Colza d'hiver
|
75 |
+
2098,22.39916666666667,22.632500000000004,Colza d'hiver
|
76 |
+
2099,23.645833333333332,23.7775,Colza d'hiver
|
77 |
+
2025,39.6175,39.99583333333333,Blé tendre d'hiver
|
78 |
+
2026,40.13333333333333,40.19166666666667,Blé tendre d'hiver
|
79 |
+
2027,35.803333333333335,35.935,Blé tendre d'hiver
|
80 |
+
2028,40.044999999999995,40.080000000000005,Blé tendre d'hiver
|
81 |
+
2029,38.90833333333333,39.10666666666666,Blé tendre d'hiver
|
82 |
+
2030,35.560833333333335,35.6325,Blé tendre d'hiver
|
83 |
+
2031,39.21,39.49333333333333,Blé tendre d'hiver
|
84 |
+
2032,35.5925,36.12416666666667,Blé tendre d'hiver
|
85 |
+
2033,40.16583333333333,40.23166666666666,Blé tendre d'hiver
|
86 |
+
2034,42.75,42.75,Blé tendre d'hiver
|
87 |
+
2035,39.0625,39.30416666666667,Blé tendre d'hiver
|
88 |
+
2036,39.653333333333336,40.05416666666667,Blé tendre d'hiver
|
89 |
+
2037,40.01,40.0375,Blé tendre d'hiver
|
90 |
+
2038,35.62083333333333,35.7075,Blé tendre d'hiver
|
91 |
+
2039,36.36666666666667,36.64,Blé tendre d'hiver
|
92 |
+
2040,40.031666666666666,40.160000000000004,Blé tendre d'hiver
|
93 |
+
2041,39.954166666666666,40.07666666666667,Blé tendre d'hiver
|
94 |
+
2042,40.098333333333336,40.233333333333334,Blé tendre d'hiver
|
95 |
+
2043,40.14333333333334,40.20333333333333,Blé tendre d'hiver
|
96 |
+
2044,35.8975,36.0525,Blé tendre d'hiver
|
97 |
+
2045,36.35166666666667,36.62083333333333,Blé tendre d'hiver
|
98 |
+
2046,40.1675,40.233333333333334,Blé tendre d'hiver
|
99 |
+
2047,34.33166666666667,34.5375,Blé tendre d'hiver
|
100 |
+
2048,31.445833333333336,32.00083333333333,Blé tendre d'hiver
|
101 |
+
2049,39.15,39.410000000000004,Blé tendre d'hiver
|
102 |
+
2050,40.0875,40.13333333333333,Blé tendre d'hiver
|
103 |
+
2051,39.49666666666666,39.83583333333333,Blé tendre d'hiver
|
104 |
+
2052,39.07333333333333,39.314166666666665,Blé tendre d'hiver
|
105 |
+
2053,36.00666666666667,36.19,Blé tendre d'hiver
|
106 |
+
2054,39.6275,40.015,Blé tendre d'hiver
|
107 |
+
2055,36.09916666666667,36.305,Blé tendre d'hiver
|
108 |
+
2056,36.06583333333333,36.26166666666666,Blé tendre d'hiver
|
109 |
+
2057,40.0675,40.10916666666667,Blé tendre d'hiver
|
110 |
+
2058,32.1775,32.925000000000004,Blé tendre d'hiver
|
111 |
+
2059,40.053333333333335,40.09166666666667,Blé tendre d'hiver
|
112 |
+
2060,36.19416666666667,36.425000000000004,Blé tendre d'hiver
|
113 |
+
2061,42.75,42.75,Blé tendre d'hiver
|
114 |
+
2062,39.64333333333334,40.02166666666667,Blé tendre d'hiver
|
115 |
+
2063,36.248333333333335,36.49,Blé tendre d'hiver
|
116 |
+
2064,39.71,40.089166666666664,Blé tendre d'hiver
|
117 |
+
2065,36.2525,36.49583333333333,Blé tendre d'hiver
|
118 |
+
2066,34.3325,34.541666666666664,Blé tendre d'hiver
|
119 |
+
2067,38.909166666666664,39.10666666666666,Blé tendre d'hiver
|
120 |
+
2068,40.223333333333336,40.3025,Blé tendre d'hiver
|
121 |
+
2069,35.97,36.14416666666667,Blé tendre d'hiver
|
122 |
+
2070,40.26833333333334,40.358333333333334,Blé tendre d'hiver
|
123 |
+
2071,40.27916666666667,40.373333333333335,Blé tendre d'hiver
|
124 |
+
2072,32.13583333333333,32.416666666666664,Blé tendre d'hiver
|
125 |
+
2073,34.895833333333336,35.233333333333334,Blé tendre d'hiver
|
126 |
+
2074,35.51166666666666,36.02916666666667,Blé tendre d'hiver
|
127 |
+
2075,35.810833333333335,35.94416666666667,Blé tendre d'hiver
|
128 |
+
2076,35.830000000000005,35.9675,Blé tendre d'hiver
|
129 |
+
2077,40.105,40.155,Blé tendre d'hiver
|
130 |
+
2078,30.894166666666667,31.311666666666667,Blé tendre d'hiver
|
131 |
+
2079,35.67416666666667,35.774166666666666,Blé tendre d'hiver
|
132 |
+
2080,40.365833333333335,40.48166666666666,Blé tendre d'hiver
|
133 |
+
2081,38.535833333333336,38.63583333333333,Blé tendre d'hiver
|
134 |
+
2082,39.92166666666667,40.36,Blé tendre d'hiver
|
135 |
+
2083,35.6225,35.70916666666667,Blé tendre d'hiver
|
136 |
+
2084,40.24333333333333,40.32833333333333,Blé tendre d'hiver
|
137 |
+
2085,40.306666666666665,40.406666666666666,Blé tendre d'hiver
|
138 |
+
2086,38.58083333333334,38.693333333333335,Blé tendre d'hiver
|
139 |
+
2087,34.69,34.99166666666667,Blé tendre d'hiver
|
140 |
+
2088,35.571666666666665,35.645,Blé tendre d'hiver
|
141 |
+
2089,40.126666666666665,40.181666666666665,Blé tendre d'hiver
|
142 |
+
2090,39.115833333333335,39.37,Blé tendre d'hiver
|
143 |
+
2091,37.794999999999995,38.155,Blé tendre d'hiver
|
144 |
+
2092,38.67666666666667,38.8175,Blé tendre d'hiver
|
145 |
+
2093,35.55083333333334,35.62,Blé tendre d'hiver
|
146 |
+
2094,36.2575,36.501666666666665,Blé tendre d'hiver
|
147 |
+
2095,35.89083333333333,36.04416666666666,Blé tendre d'hiver
|
148 |
+
2096,35.86416666666667,36.01083333333333,Blé tendre d'hiver
|
149 |
+
2097,35.79416666666666,35.9675,Blé tendre d'hiver
|
150 |
+
2098,38.99916666666667,39.21,Blé tendre d'hiver
|
151 |
+
2099,40.155,40.218333333333334,Blé tendre d'hiver
|
152 |
+
2025,39.844166666666666,40.21083333333333,Orge d'hiver
|
153 |
+
2026,40.365833333333335,40.416666666666664,Orge d'hiver
|
154 |
+
2027,36.375,36.49333333333333,Orge d'hiver
|
155 |
+
2028,40.288333333333334,40.31916666666667,Orge d'hiver
|
156 |
+
2029,39.13833333333333,39.32833333333333,Orge d'hiver
|
157 |
+
2030,36.163333333333334,36.2275,Orge d'hiver
|
158 |
+
2031,39.44083333333333,39.7175,Orge d'hiver
|
159 |
+
2032,36.13,36.637499999999996,Orge d'hiver
|
160 |
+
2033,40.39416666666667,40.45166666666666,Orge d'hiver
|
161 |
+
2034,42.65,42.65,Orge d'hiver
|
162 |
+
2035,39.28916666666667,39.520833333333336,Orge d'hiver
|
163 |
+
2036,39.865833333333335,40.25333333333333,Orge d'hiver
|
164 |
+
2037,40.25833333333333,40.281666666666666,Orge d'hiver
|
165 |
+
2038,36.214166666666664,36.291666666666664,Orge d'hiver
|
166 |
+
2039,36.895,37.1425,Orge d'hiver
|
167 |
+
2040,40.2675,40.38916666666666,Orge d'hiver
|
168 |
+
2041,40.19833333333333,40.31666666666666,Orge d'hiver
|
169 |
+
2042,40.32666666666666,40.45333333333333,Orge d'hiver
|
170 |
+
2043,40.37416666666667,40.42666666666667,Orge d'hiver
|
171 |
+
2044,36.4625,36.60166666666667,Orge d'hiver
|
172 |
+
2045,36.876666666666665,37.12,Orge d'hiver
|
173 |
+
2046,40.395,40.45333333333333,Orge d'hiver
|
174 |
+
2047,34.895833333333336,35.083333333333336,Orge d'hiver
|
175 |
+
2048,32.314166666666665,32.8375,Orge d'hiver
|
176 |
+
2049,39.391666666666666,39.645,Orge d'hiver
|
177 |
+
2050,40.324999999999996,40.365833333333335,Orge d'hiver
|
178 |
+
2051,39.744166666666665,40.079166666666666,Orge d'hiver
|
179 |
+
2052,39.3175,39.553333333333335,Orge d'hiver
|
180 |
+
2053,36.568333333333335,36.735,Orge d'hiver
|
181 |
+
2054,39.86333333333334,40.2425,Orge d'hiver
|
182 |
+
2055,36.649166666666666,36.835,Orge d'hiver
|
183 |
+
2056,36.62083333333333,36.799166666666665,Orge d'hiver
|
184 |
+
2057,40.30833333333333,40.344166666666666,Orge d'hiver
|
185 |
+
2058,33.005,33.71,Orge d'hiver
|
186 |
+
2059,40.29583333333333,40.329166666666666,Orge d'hiver
|
187 |
+
2060,36.737500000000004,36.946666666666665,Orge d'hiver
|
188 |
+
2061,42.65,42.65,Orge d'hiver
|
189 |
+
2062,39.880833333333335,40.25083333333333,Orge d'hiver
|
190 |
+
2063,36.777499999999996,36.99583333333333,Orge d'hiver
|
191 |
+
2064,39.939166666666665,40.31,Orge d'hiver
|
192 |
+
2065,36.78916666666667,37.01,Orge d'hiver
|
193 |
+
2066,34.90833333333333,35.10333333333333,Orge d'hiver
|
194 |
+
2067,39.1675,39.361666666666665,Orge d'hiver
|
195 |
+
2068,40.44416666666667,40.51333333333333,Orge d'hiver
|
196 |
+
2069,36.531666666666666,36.68833333333333,Orge d'hiver
|
197 |
+
2070,40.48333333333333,40.56166666666667,Orge d'hiver
|
198 |
+
2071,40.49333333333333,40.574999999999996,Orge d'hiver
|
199 |
+
2072,33.027499999999996,33.28333333333333,Orge d'hiver
|
200 |
+
2073,35.4525,35.77166666666667,Orge d'hiver
|
201 |
+
2074,36.07083333333333,36.57083333333333,Orge d'hiver
|
202 |
+
2075,36.380833333333335,36.49916666666667,Orge d'hiver
|
203 |
+
2076,36.4125,36.53916666666667,Orge d'hiver
|
204 |
+
2077,40.34083333333333,40.385,Orge d'hiver
|
205 |
+
2078,31.754166666666666,32.137499999999996,Orge d'hiver
|
206 |
+
2079,36.26333333333333,36.3525,Orge d'hiver
|
207 |
+
2080,40.56916666666667,40.669999999999995,Orge d'hiver
|
208 |
+
2081,38.780833333333334,38.875,Orge d'hiver
|
209 |
+
2082,40.13666666666666,40.5625,Orge d'hiver
|
210 |
+
2083,36.22,36.300000000000004,Orge d'hiver
|
211 |
+
2084,40.461666666666666,40.53583333333333,Orge d'hiver
|
212 |
+
2085,40.516666666666666,40.604166666666664,Orge d'hiver
|
213 |
+
2086,38.81666666666667,38.92083333333333,Orge d'hiver
|
214 |
+
2087,35.259166666666665,35.544999999999995,Orge d'hiver
|
215 |
+
2088,36.1675,36.23333333333333,Orge d'hiver
|
216 |
+
2089,40.36,40.4075,Orge d'hiver
|
217 |
+
2090,39.3725,39.623333333333335,Orge d'hiver
|
218 |
+
2091,38.26,38.58083333333333,Orge d'hiver
|
219 |
+
2092,38.92666666666667,39.065,Orge d'hiver
|
220 |
+
2093,36.155833333333334,36.219166666666666,Orge d'hiver
|
221 |
+
2094,36.788333333333334,37.009166666666665,Orge d'hiver
|
222 |
+
2095,36.4575,36.59583333333333,Orge d'hiver
|
223 |
+
2096,36.44416666666667,36.57833333333333,Orge d'hiver
|
224 |
+
2097,36.369166666666665,36.53,Orge d'hiver
|
225 |
+
2098,39.24,39.445,Orge d'hiver
|
226 |
+
2099,40.385,40.44,Orge d'hiver
|
prompts/summary_prompt.py
CHANGED
@@ -48,7 +48,7 @@ agricultural_yield_comparison_prompt = """
|
|
48 |
|
49 |
Consignes pour la réponse :
|
50 |
- Fournir une analyse détaillée, structurée et pédagogique.
|
51 |
-
- S’appuyer exclusivement sur les données fournies et argumenter à l’aide d’indicateurs précis concernant l’évolution des variables
|
52 |
- Adopter une approche objective et non biaisée, sans favoriser un scénario par anticipation.
|
53 |
- Vulgariser les concepts techniques pour assurer une compréhension optimale par l’agriculteur.
|
54 |
- Le format de sortie doit être structuré, avec des sections claires et bien définies.
|
|
|
48 |
|
49 |
Consignes pour la réponse :
|
50 |
- Fournir une analyse détaillée, structurée et pédagogique.
|
51 |
+
- S’appuyer exclusivement sur les données fournies et argumenter à l’aide d’indicateurs précis concernant l’évolution des variables (en pourcentage)
|
52 |
- Adopter une approche objective et non biaisée, sans favoriser un scénario par anticipation.
|
53 |
- Vulgariser les concepts techniques pour assurer une compréhension optimale par l’agriculteur.
|
54 |
- Le format de sortie doit être structuré, avec des sections claires et bien définies.
|
summary_test.py
CHANGED
@@ -82,23 +82,31 @@ if __name__ == "__main__":
|
|
82 |
|
83 |
climate_data = temperature_df.merge(rain_df, on='year').merge(irradiance_df, on='year') # meteo ok
|
84 |
closest_soil_data = find_nearest_point_to_coordinates(latitude=lat, longitude=lon) # soil ok
|
85 |
-
water_deficit_data = forecast_df[["
|
86 |
-
|
|
|
|
|
|
|
|
|
|
|
87 |
# add a step to transform gps coordinates into french region to be able to filter yield data
|
88 |
yield_past_data, yield_forecast_data = get_yield_data(region=region, culture=culture)
|
|
|
89 |
|
90 |
# rendement (avec et sans ombrage)
|
91 |
|
92 |
second_summary = get_agricultural_yield_comparison(culture=culture,
|
93 |
region="bourgogne franche comté",
|
94 |
-
water_df=water_deficit_data,
|
|
|
95 |
climate_df=climate_data,
|
96 |
soil_df=closest_soil_data,
|
97 |
forecast_yield_df=yield_forecast_data,
|
98 |
historical_yield_df=yield_past_data)
|
99 |
|
|
|
100 |
print(second_summary)
|
101 |
-
|
102 |
# from utils.soil_utils import find_nearest_point
|
103 |
# city = "Bourgogne Franche Comté"
|
104 |
# closest_soil_features = find_nearest_point(city)
|
|
|
82 |
|
83 |
climate_data = temperature_df.merge(rain_df, on='year').merge(irradiance_df, on='year') # meteo ok
|
84 |
closest_soil_data = find_nearest_point_to_coordinates(latitude=lat, longitude=lon) # soil ok
|
85 |
+
water_deficit_data = forecast_df[["year", "Water Deficit (mm/day)"]]
|
86 |
+
############ forecast data PV ############
|
87 |
+
forecast_df_pv = get_forecast_data(scenario=scenario, longitude=lon, latitude=lat, shading_coef=0.2)
|
88 |
+
forecast_df_pv["time"] = pd.to_datetime(forecast_df_pv["time"])
|
89 |
+
forecast_df_pv['year'] = forecast_df_pv["time"].dt.year
|
90 |
+
water_deficit_data_pv = forecast_df_pv.groupby(by="year", as_index=False).mean().reset_index()[["year", "Water Deficit (mm/day)"]]
|
91 |
+
|
92 |
# add a step to transform gps coordinates into french region to be able to filter yield data
|
93 |
yield_past_data, yield_forecast_data = get_yield_data(region=region, culture=culture)
|
94 |
+
print(yield_forecast_data.tail())
|
95 |
|
96 |
# rendement (avec et sans ombrage)
|
97 |
|
98 |
second_summary = get_agricultural_yield_comparison(culture=culture,
|
99 |
region="bourgogne franche comté",
|
100 |
+
water_df=water_deficit_data,
|
101 |
+
water_df_pv = water_deficit_data_pv,
|
102 |
climate_df=climate_data,
|
103 |
soil_df=closest_soil_data,
|
104 |
forecast_yield_df=yield_forecast_data,
|
105 |
historical_yield_df=yield_past_data)
|
106 |
|
107 |
+
print(yield_forecast_data.tail())
|
108 |
print(second_summary)
|
109 |
+
# second_summary
|
110 |
# from utils.soil_utils import find_nearest_point
|
111 |
# city = "Bourgogne Franche Comté"
|
112 |
# closest_soil_features = find_nearest_point(city)
|
utils/summary.py
CHANGED
@@ -55,12 +55,14 @@ def get_agricultural_yield_comparison(culture: str,
|
|
55 |
forecast_yield_df: pd.DataFrame,
|
56 |
soil_df: pd.DataFrame,
|
57 |
climate_df: pd.DataFrame,
|
58 |
-
water_df: pd.DataFrame
|
|
|
59 |
|
60 |
historical_yield = historical_yield_df.head(len(historical_yield_df)).to_string(index=False)
|
61 |
agricultural_yield = forecast_yield_df.head(len(forecast_yield_df)).to_string(index=False)
|
62 |
soil_data = soil_df.head(len(soil_df)).to_string(index=False)
|
63 |
water_data = water_df.head(len(water_df)).to_string(index=False)
|
|
|
64 |
climate_data = climate_df.head(len(climate_df)).to_string(index=False)
|
65 |
|
66 |
llm = ChatOpenAI(
|
@@ -75,7 +77,7 @@ def get_agricultural_yield_comparison(culture: str,
|
|
75 |
prompt = ChatPromptTemplate.from_messages(
|
76 |
[
|
77 |
("system", agricultural_yield_comparison_prompt),
|
78 |
-
("human", "Je suis agriculteur et je cultive de la {culture} à {region}. Voilà les caractéristiques du sol dans ma région {soil_data} et voilà l'historique de mon rendement {historical_yield} et projections du rendement ma culture avec et sans ombrage {agricultural_yield}. J'ai aussi les
|
79 |
]
|
80 |
)
|
81 |
chain = prompt | llm | output_parser
|
@@ -85,6 +87,7 @@ def get_agricultural_yield_comparison(culture: str,
|
|
85 |
"region": region,
|
86 |
"soil_data": soil_data,
|
87 |
"water_data": water_data,
|
|
|
88 |
"climate_data": climate_data,
|
89 |
"agricultural_yield": agricultural_yield,
|
90 |
"historical_yield": historical_yield
|
|
|
55 |
forecast_yield_df: pd.DataFrame,
|
56 |
soil_df: pd.DataFrame,
|
57 |
climate_df: pd.DataFrame,
|
58 |
+
water_df: pd.DataFrame,
|
59 |
+
water_df_pv: pd.DataFrame):
|
60 |
|
61 |
historical_yield = historical_yield_df.head(len(historical_yield_df)).to_string(index=False)
|
62 |
agricultural_yield = forecast_yield_df.head(len(forecast_yield_df)).to_string(index=False)
|
63 |
soil_data = soil_df.head(len(soil_df)).to_string(index=False)
|
64 |
water_data = water_df.head(len(water_df)).to_string(index=False)
|
65 |
+
water_data_pv = water_df_pv.head(len(water_df_pv)).to_string(index=False)
|
66 |
climate_data = climate_df.head(len(climate_df)).to_string(index=False)
|
67 |
|
68 |
llm = ChatOpenAI(
|
|
|
77 |
prompt = ChatPromptTemplate.from_messages(
|
78 |
[
|
79 |
("system", agricultural_yield_comparison_prompt),
|
80 |
+
("human", "Je suis agriculteur et je cultive de la {culture} à {region}. Voilà les caractéristiques du sol dans ma région {soil_data} et voilà l'historique de mon rendement {historical_yield} et projections du rendement ma culture avec et sans ombrage {agricultural_yield}. J'ai aussi les prévisions du stress hydrique sans ombrage {water_data} et avec ombrage {water_data_pv} et des données climatiques {climate_data}. " )
|
81 |
]
|
82 |
)
|
83 |
chain = prompt | llm | output_parser
|
|
|
87 |
"region": region,
|
88 |
"soil_data": soil_data,
|
89 |
"water_data": water_data,
|
90 |
+
"water_data_pv": water_data_pv,
|
91 |
"climate_data": climate_data,
|
92 |
"agricultural_yield": agricultural_yield,
|
93 |
"historical_yield": historical_yield
|