udpate
Browse files
app.py
CHANGED
@@ -248,8 +248,6 @@ async def generate_global_analysis(file: UploadFile = File(...)):
|
|
248 |
# Échantillonner les données si elles sont trop grandes
|
249 |
if len(df) > 1000: # Ajustez ce nombre selon vos besoins
|
250 |
df = df.sample(n=500, random_state=42)
|
251 |
-
total_plaintes = len(df)
|
252 |
-
|
253 |
# Convertir le DataFrame en chaîne de caractères
|
254 |
try:
|
255 |
text_to_generate = df.to_string(index=False)
|
@@ -259,26 +257,6 @@ async def generate_global_analysis(file: UploadFile = File(...)):
|
|
259 |
# S'assurer que le texte généré est dans les limites de taille
|
260 |
if len(text_to_generate.encode('utf-8')) > 5_000_000:
|
261 |
return {"error": "Le texte généré dépasse la limite de taille même après échantillonnage. Veuillez réduire davantage les données."}
|
262 |
-
|
263 |
-
# Définir le prompt de l'analyse globale
|
264 |
-
prompt_global = """
|
265 |
-
Analyse globale des plaintes pour tous les domaines :
|
266 |
-
Résumé général :
|
267 |
-
- Total des plaintes : {total_plaintes}
|
268 |
-
Répartition des plaintes par domaine :
|
269 |
-
{domain_analyses}
|
270 |
-
Problèmes récurrents observés dans tous les domaines :
|
271 |
-
- lister 1 à 2 problèmes les plus fréquents
|
272 |
-
Actions entreprises :
|
273 |
-
- Action 1 : Description de l'action
|
274 |
-
Recommandations pour améliorer la gestion des plaintes :
|
275 |
-
1. [Recommandation 1] : Détails
|
276 |
-
|
277 |
-
En résumé, voici les principales tendances et recommandations pour améliorer la gestion des plaintes et résoudre les problèmes identifiés à travers tous les domaines.
|
278 |
-
---
|
279 |
-
Utilisez ces informations pour améliorer la qualité du service et optimiser la gestion des plaintes.
|
280 |
-
"""
|
281 |
-
|
282 |
# Groupement des données par domaine
|
283 |
domain_analyses = ""
|
284 |
for domain, group in df.groupby('DOMAINE'):
|
@@ -294,7 +272,24 @@ async def generate_global_analysis(file: UploadFile = File(...)):
|
|
294 |
- Autres statuts : {sum(v for k, v in domain_summary.items() if k not in ['EN COURS', 'TRANSFERE', 'FERME', 'NON PRIS EN CHARGE'])}
|
295 |
"""
|
296 |
domain_analyses += domain_analysis
|
297 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
298 |
# Création de la requête pour l'API (exemple avec un modèle fictif)
|
299 |
try:
|
300 |
# Remplacez cette partie par la logique spécifique à votre API
|
|
|
248 |
# Échantillonner les données si elles sont trop grandes
|
249 |
if len(df) > 1000: # Ajustez ce nombre selon vos besoins
|
250 |
df = df.sample(n=500, random_state=42)
|
|
|
|
|
251 |
# Convertir le DataFrame en chaîne de caractères
|
252 |
try:
|
253 |
text_to_generate = df.to_string(index=False)
|
|
|
257 |
# S'assurer que le texte généré est dans les limites de taille
|
258 |
if len(text_to_generate.encode('utf-8')) > 5_000_000:
|
259 |
return {"error": "Le texte généré dépasse la limite de taille même après échantillonnage. Veuillez réduire davantage les données."}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
260 |
# Groupement des données par domaine
|
261 |
domain_analyses = ""
|
262 |
for domain, group in df.groupby('DOMAINE'):
|
|
|
272 |
- Autres statuts : {sum(v for k, v in domain_summary.items() if k not in ['EN COURS', 'TRANSFERE', 'FERME', 'NON PRIS EN CHARGE'])}
|
273 |
"""
|
274 |
domain_analyses += domain_analysis
|
275 |
+
# Définir le prompt de l'analyse globale
|
276 |
+
prompt_global = """
|
277 |
+
Analyse globale des plaintes pour tous les domaines :
|
278 |
+
Résumé général :
|
279 |
+
- Total des plaintes : 0
|
280 |
+
Répartition des plaintes par domaine :
|
281 |
+
{domain_analyses}
|
282 |
+
Problèmes récurrents observés dans tous les domaines :
|
283 |
+
- lister 1 à 2 problèmes les plus fréquents
|
284 |
+
Actions entreprises :
|
285 |
+
- Action 1 : Description de l'action
|
286 |
+
Recommandations pour améliorer la gestion des plaintes :
|
287 |
+
1. [Recommandation 1] : Détails
|
288 |
+
|
289 |
+
En résumé, voici les principales tendances et recommandations pour améliorer la gestion des plaintes et résoudre les problèmes identifiés à travers tous les domaines.
|
290 |
+
---
|
291 |
+
Utilisez ces informations pour améliorer la qualité du service et optimiser la gestion des plaintes.
|
292 |
+
"""
|
293 |
# Création de la requête pour l'API (exemple avec un modèle fictif)
|
294 |
try:
|
295 |
# Remplacez cette partie par la logique spécifique à votre API
|