Spaces:
Sleeping
Sleeping
| import requests | |
| import pandas as pd | |
| import numpy as np | |
| import joblib | |
| API_URL = "http://localhost:8000/predict" | |
| # Charger dataset de référence | |
| df_example = joblib.load("./data/app_test_clean_v2.joblib") | |
| # Détection des colonnes booléennes (0/1) | |
| bool_cols = [col for col in df_example.columns if set(df_example[col].dropna().unique()).issubset({0, 1})] | |
| # sent_payloads = set() | |
| def sanitize_payload(payload): | |
| clean = {} | |
| for k, v in payload.items(): | |
| if pd.isna(v): | |
| clean[k] = None | |
| elif isinstance(v, (np.integer, np.int64)): | |
| clean[k] = int(v) | |
| elif isinstance(v, (np.floating, np.float64)): | |
| clean[k] = float(v) | |
| else: | |
| clean[k] = v | |
| return clean | |
| df_aleatoire = df_example.sample(frac = 1, random_state = 42).reset_index(drop = True) | |
| batch_size = 200 | |
| n_batch = 10 | |
| for i in range(n_batch): | |
| df_batch = df_aleatoire.iloc[i * batch_size: (i + 1) * batch_size] | |
| payload = [sanitize_payload(row) for row in df_batch.to_dict(orient="records")] | |
| response = requests.post("http://localhost:8000/predict_batch", json=payload) | |
| print(f"Batch {i+1} envoyé") | |
| # Lancer le test | |
| # send_requests(200) | |
| print("Status:", response.status_code) | |
| print(response.json()) | |