MohamedBouhamed commited on
Commit
a327224
·
1 Parent(s): 7baa921

inititalizing of the token

Browse files
Files changed (1) hide show
  1. app.py +46 -15
app.py CHANGED
@@ -333,7 +333,9 @@ def initialize_system():
333
  HF_API_KEY = os.environ.get("HF_TOKEN") or os.environ.get("HUGGINGFACEHUB_API_TOKEN") or os.environ.get("HUGGING_FACE_HUB_TOKEN")
334
 
335
  # Configuration de l'API HuggingFace Inference
336
- API_URL = "https://api-inference.huggingface.co/models/google/flan-t5-xxl"
 
 
337
  headers = {"Authorization": f"Bearer {HF_API_KEY}"} if HF_API_KEY else {}
338
 
339
  # Initialiser le client d'inférence HuggingFace
@@ -399,29 +401,57 @@ AI:
399
  """
400
 
401
  try:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
402
  # Appeler l'API HuggingFace pour générer la réponse
403
- # Utilisation de Google Flan-T5 (gratuit et compatible text-generation)
404
- response = llm_client.text_generation(
405
- prompt,
406
- model="google/flan-t5-xxl",
407
- max_new_tokens=300,
408
  temperature=0.7,
409
- top_p=0.95,
410
- do_sample=True
411
  )
412
 
 
 
 
413
  # Nettoyer la réponse
414
- response = response.strip()
415
- response = re.sub(r"\[context\..*?\]", "", response)
416
- response = re.sub(r"Al:\s*", "", response)
417
- response = re.sub(r"AI:\s*", "", response)
418
 
419
- return response
420
  except Exception as e:
421
  print(f"Erreur lors de la génération: {str(e)}")
422
  import traceback
423
  traceback.print_exc()
424
- return f"Désolé, une erreur s'est produite: {str(e)}\n\n⚠️ Assure-toi d'avoir ajouté ton token HuggingFace dans les Repository Secrets (Settings > HF_TOKEN)"
 
 
 
 
 
 
 
 
 
 
425
 
426
  # Créer l instance de gestion d historique
427
  ch = ConversationHistoryLoader(k=3)
@@ -474,7 +504,8 @@ iface = gr.Interface(
474
  "Quels sont les principaux impacts du réchauffement climatique ?",
475
  "Comment les océans sont-ils affectés par le changement climatique ?",
476
  "Quelles sont les solutions pour réduire les émissions ?"
477
- ]
 
478
  )
479
 
480
  # Lancer l application
 
333
  HF_API_KEY = os.environ.get("HF_TOKEN") or os.environ.get("HUGGINGFACEHUB_API_TOKEN") or os.environ.get("HUGGING_FACE_HUB_TOKEN")
334
 
335
  # Configuration de l'API HuggingFace Inference
336
+ # Utiliser un modèle plus petit et compatible avec le tier gratuit
337
+ MODEL_NAME = "mistralai/Mistral-7B-Instruct-v0.2"
338
+ API_URL = f"https://api-inference.huggingface.co/models/{MODEL_NAME}"
339
  headers = {"Authorization": f"Bearer {HF_API_KEY}"} if HF_API_KEY else {}
340
 
341
  # Initialiser le client d'inférence HuggingFace
 
401
  """
402
 
403
  try:
404
+ # Construire les messages pour le chat
405
+ system_message = f"""Tu es un assistant expert sur le changement climatique. Réponds aux questions en français en utilisant le contexte fourni des rapports IPCC.
406
+
407
+ Contexte: {context}"""
408
+
409
+ messages = [
410
+ {"role": "system", "content": system_message}
411
+ ]
412
+
413
+ # Ajouter l'historique si présent
414
+ if chat_history:
415
+ messages.append({"role": "assistant", "content": f"Historique:\n{chat_history}"})
416
+
417
+ # Ajouter la question
418
+ messages.append({"role": "user", "content": instruction})
419
+
420
  # Appeler l'API HuggingFace pour générer la réponse
421
+ # Utilisation de Mistral avec chat_completion
422
+ response = llm_client.chat_completion(
423
+ messages=messages,
424
+ model=MODEL_NAME,
425
+ max_tokens=300,
426
  temperature=0.7,
427
+ top_p=0.95
 
428
  )
429
 
430
+ # Extraire le contenu de la réponse
431
+ answer = response.choices[0].message.content
432
+
433
  # Nettoyer la réponse
434
+ answer = answer.strip()
435
+ answer = re.sub(r"\[context\..*?\]", "", answer)
436
+ answer = re.sub(r"Al:\s*", "", answer)
437
+ answer = re.sub(r"AI:\s*", "", answer)
438
 
439
+ return answer
440
  except Exception as e:
441
  print(f"Erreur lors de la génération: {str(e)}")
442
  import traceback
443
  traceback.print_exc()
444
+ error_msg = str(e)
445
+
446
+ # Messages d'aide selon le type d'erreur
447
+ if "rate limit" in error_msg.lower():
448
+ return f"⏱️ Rate limit atteint. Veuillez réessayer dans quelques instants.\n\nDétails: {error_msg}"
449
+ elif "loading" in error_msg.lower() or "is currently loading" in error_msg.lower():
450
+ return f"⏳ Le modèle est en cours de chargement. Veuillez patienter 20-30 secondes et réessayer.\n\nDétails: {error_msg}"
451
+ elif "authorization" in error_msg.lower() or "token" in error_msg.lower():
452
+ return f"🔒 Problème d'authentification.\n\nDétails: {error_msg}\n\n⚠️ Vérifiez que le token HF_TOKEN dans Settings a les permissions 'read' ou 'inference'."
453
+ else:
454
+ return f"❌ Erreur: {error_msg}\n\nConsultez les logs de votre Space pour plus de détails."
455
 
456
  # Créer l instance de gestion d historique
457
  ch = ConversationHistoryLoader(k=3)
 
504
  "Quels sont les principaux impacts du réchauffement climatique ?",
505
  "Comment les océans sont-ils affectés par le changement climatique ?",
506
  "Quelles sont les solutions pour réduire les émissions ?"
507
+ ],
508
+ cache_examples=False # Désactive le cache pour éviter l'initialisation au démarrage
509
  )
510
 
511
  # Lancer l application