FatimaGr commited on
Commit
1c5cdc9
·
verified ·
1 Parent(s): dfcb47b
Files changed (1) hide show
  1. app.py +10 -4
app.py CHANGED
@@ -194,9 +194,9 @@ print("hello")
194
  async def generate_viz(file: UploadFile = File(...), query: str = Form(...)):
195
  print("hello")
196
  try:
197
- contents = await file.read()
198
- excel_file = io.BytesIO(contents)
199
- df = pd.read_excel(excel_file)
200
 
201
  if query not in VALID_PLOTS:
202
  return JSONResponse(content={"error": f"Type de graphique invalide. Choisissez parmi : {', '.join(VALID_PLOTS)}"}, status_code=400)
@@ -230,11 +230,17 @@ plt.close()
230
  outputs = codegen_model.generate(**inputs, max_new_tokens=120, pad_token_id=codegen_tokenizer.eos_token_id)
231
  generated_code = codegen_tokenizer.decode(outputs[0], skip_special_tokens=True).strip()
232
 
 
 
 
 
 
233
  generated_code = re.sub(r"(import matplotlib.pyplot as plt\nimport seaborn as sns\n)+", "import matplotlib.pyplot as plt\nimport seaborn as sns\n", generated_code)
 
234
  if generated_code.strip().endswith("sns."):
235
  generated_code = generated_code.rsplit("\n", 1)[0]
236
 
237
- print("🔹 Code généré par l'IA :\n", generated_code)
238
 
239
  try:
240
  compile(generated_code, "<string>", "exec")
 
194
  async def generate_viz(file: UploadFile = File(...), query: str = Form(...)):
195
  print("hello")
196
  try:
197
+ contents = await file.read()
198
+ excel_file = io.BytesIO(contents)
199
+ df = pd.read_excel(excel_file)
200
 
201
  if query not in VALID_PLOTS:
202
  return JSONResponse(content={"error": f"Type de graphique invalide. Choisissez parmi : {', '.join(VALID_PLOTS)}"}, status_code=400)
 
230
  outputs = codegen_model.generate(**inputs, max_new_tokens=120, pad_token_id=codegen_tokenizer.eos_token_id)
231
  generated_code = codegen_tokenizer.decode(outputs[0], skip_special_tokens=True).strip()
232
 
233
+ # 🔥 Nettoyage : couper si répétition du prompt
234
+ if "### Génère uniquement du code Python fonctionnel" in generated_code[1:]:
235
+ generated_code = generated_code.split("### Génère uniquement du code Python fonctionnel")[0]
236
+
237
+ # 🔥 Nettoyage : éviter doublon imports
238
  generated_code = re.sub(r"(import matplotlib.pyplot as plt\nimport seaborn as sns\n)+", "import matplotlib.pyplot as plt\nimport seaborn as sns\n", generated_code)
239
+
240
  if generated_code.strip().endswith("sns."):
241
  generated_code = generated_code.rsplit("\n", 1)[0]
242
 
243
+ print("🔹 Code généré propre :\n", generated_code)
244
 
245
  try:
246
  compile(generated_code, "<string>", "exec")