Spaces:
Running
Running
add
Browse files
app.py
CHANGED
|
@@ -194,14 +194,13 @@ 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)
|
| 203 |
|
| 204 |
-
df = pd.read_excel(file.file)
|
| 205 |
numeric_cols = df.select_dtypes(include=["number"]).columns
|
| 206 |
|
| 207 |
if len(numeric_cols) < 1:
|
|
@@ -231,7 +230,6 @@ plt.close()
|
|
| 231 |
outputs = codegen_model.generate(**inputs, max_new_tokens=120, pad_token_id=codegen_tokenizer.eos_token_id)
|
| 232 |
generated_code = codegen_tokenizer.decode(outputs[0], skip_special_tokens=True).strip()
|
| 233 |
|
| 234 |
-
# Nettoyage
|
| 235 |
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)
|
| 236 |
if generated_code.strip().endswith("sns."):
|
| 237 |
generated_code = generated_code.rsplit("\n", 1)[0]
|
|
@@ -252,7 +250,6 @@ plt.close()
|
|
| 252 |
if os.path.getsize(img_path) == 0:
|
| 253 |
return JSONResponse(content={"error": "Le fichier plot.png est vide."}, status_code=500)
|
| 254 |
|
| 255 |
-
# Encoder l'image en base64
|
| 256 |
with open(img_path, "rb") as image_file:
|
| 257 |
encoded_string = base64.b64encode(image_file.read()).decode('utf-8')
|
| 258 |
return JSONResponse(content={"image_base64": encoded_string})
|
|
|
|
| 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)
|
| 203 |
|
|
|
|
| 204 |
numeric_cols = df.select_dtypes(include=["number"]).columns
|
| 205 |
|
| 206 |
if len(numeric_cols) < 1:
|
|
|
|
| 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]
|
|
|
|
| 250 |
if os.path.getsize(img_path) == 0:
|
| 251 |
return JSONResponse(content={"error": "Le fichier plot.png est vide."}, status_code=500)
|
| 252 |
|
|
|
|
| 253 |
with open(img_path, "rb") as image_file:
|
| 254 |
encoded_string = base64.b64encode(image_file.read()).decode('utf-8')
|
| 255 |
return JSONResponse(content={"image_base64": encoded_string})
|