FatimaGr commited on
Commit
2af69e9
·
verified ·
1 Parent(s): 50c94bc
Files changed (1) hide show
  1. app.py +30 -30
app.py CHANGED
@@ -220,51 +220,51 @@ plt.savefig("plot.png")
220
  plt.close()
221
  """
222
  print("🟣 Prompt envoyé au modèle :")
223
- print(prompt)
224
 
225
- inputs = codegen_tokenizer(prompt, return_tensors="pt").to(device)
226
- outputs = codegen_model.generate(
227
  **inputs,
228
  max_new_tokens=150,
229
  pad_token_id=codegen_tokenizer.eos_token_id
230
- )
231
 
232
- generated_code = codegen_tokenizer.decode(outputs[0], skip_special_tokens=True).strip()
233
 
234
- # Nettoyage : retirer tout ce qui n'est pas du vrai code
235
- generated_code = re.sub(r"^.*?```python", "", generated_code, flags=re.DOTALL)
236
- generated_code = re.sub(r"```.*?$", "", generated_code, flags=re.DOTALL).strip()
237
 
238
- print("🔵 Code généré propre :")
239
- print(generated_code)
240
 
241
- if not generated_code.strip():
242
- return JSONResponse(content={"error": "Erreur : Code généré vide."}, status_code=500)
243
 
244
- try:
245
  compile(generated_code, "<string>", "exec")
246
- except SyntaxError as e:
247
- return JSONResponse(content={"error": f"Erreur de syntaxe détectée : {e}\nCode généré :\n{generated_code}"}, status_code=422)
248
 
249
- exec_env = {"df": df, "plt": plt, "sns": sns, "pd": pd}
250
- print("🔹🔹🔹 Code réellement exécuté :")
251
- exec(generated_code, exec_env)
252
 
253
- img_path = "plot.png"
254
- if not os.path.exists(img_path):
255
- return JSONResponse(content={"error": "Le fichier plot.png n'a pas été généré."}, status_code=500)
256
- if os.path.getsize(img_path) == 0:
257
- return JSONResponse(content={"error": "Le fichier plot.png est vide."}, status_code=500)
258
 
259
- with open(img_path, "rb") as image_file:
260
- encoded_string = base64.b64encode(image_file.read()).decode('utf-8')
261
 
262
- print("🟢 Génération réussie ✅")
263
- return JSONResponse(content={"image_base64": encoded_string})
264
 
265
- except Exception as e:
266
- print(f"🔴 Erreur serveur : {e}")
267
- return JSONResponse(content={"error": f"Erreur lors de la génération du graphique : {str(e)}"}, status_code=500)
268
 
269
 
270
 
 
220
  plt.close()
221
  """
222
  print("🟣 Prompt envoyé au modèle :")
223
+ print(prompt)
224
 
225
+ inputs = codegen_tokenizer(prompt, return_tensors="pt").to(device)
226
+ outputs = codegen_model.generate(
227
  **inputs,
228
  max_new_tokens=150,
229
  pad_token_id=codegen_tokenizer.eos_token_id
230
+ )
231
 
232
+ generated_code = codegen_tokenizer.decode(outputs[0], skip_special_tokens=True).strip()
233
 
234
+ # Nettoyage : retirer tout ce qui n'est pas du vrai code
235
+ generated_code = re.sub(r"^.*?```python", "", generated_code, flags=re.DOTALL)
236
+ generated_code = re.sub(r"```.*?$", "", generated_code, flags=re.DOTALL).strip()
237
 
238
+ print("🔵 Code généré propre :")
239
+ print(generated_code)
240
 
241
+ if not generated_code.strip():
242
+ return JSONResponse(content={"error": "Erreur : Code généré vide."}, status_code=500)
243
 
244
+ try:
245
  compile(generated_code, "<string>", "exec")
246
+ except SyntaxError as e:
247
+ return JSONResponse(content={"error": f"Erreur de syntaxe détectée : {e}\nCode généré :\n{generated_code}"}, status_code=422)
248
 
249
+ exec_env = {"df": df, "plt": plt, "sns": sns, "pd": pd}
250
+ print("🔹🔹🔹 Code réellement exécuté :")
251
+ exec(generated_code, exec_env)
252
 
253
+ img_path = "plot.png"
254
+ if not os.path.exists(img_path):
255
+ return JSONResponse(content={"error": "Le fichier plot.png n'a pas été généré."}, status_code=500)
256
+ if os.path.getsize(img_path) == 0:
257
+ return JSONResponse(content={"error": "Le fichier plot.png est vide."}, status_code=500)
258
 
259
+ with open(img_path, "rb") as image_file:
260
+ encoded_string = base64.b64encode(image_file.read()).decode('utf-8')
261
 
262
+ print("🟢 Génération réussie ✅")
263
+ return JSONResponse(content={"image_base64": encoded_string})
264
 
265
+ except Exception as e:
266
+ print(f"🔴 Erreur serveur : {e}")
267
+ return JSONResponse(content={"error": f"Erreur lors de la génération du graphique : {str(e)}"}, status_code=500)
268
 
269
 
270