Spaces:
Sleeping
Sleeping
import gradio as gr | |
from rag_utils import load_faiss_index, get_embedding_model, query_index, nettoyer_context, generate_answer | |
# Chargement de l'index et du modèle d'embedding | |
index, documents = load_faiss_index() | |
embedder = get_embedding_model() | |
# Fonction de réponse avec gestion d'erreur | |
def ask_edu_pilot(message, history): | |
try: | |
context = query_index(message, index, documents, embedder) | |
cleaned_context = nettoyer_context("\n".join(context)) | |
answer = generate_answer(message, cleaned_context) | |
return answer | |
except Exception as e: | |
print("Erreur lors de l'appel au modèle :", e) | |
return "😓 Le conseiller IA est temporairement indisponible. Merci de réessayer plus tard." | |
# Message d'accueil dans le chat | |
welcome_message = """👋 Bonjour ! Je suis **EduPilot**, ton conseiller IA. | |
Pose-moi une question sur ton avenir scolaire, les filières, les écoles ou les métiers qui t'intéressent. 🎓""" | |
# Interface Gradio stylisée | |
gr.ChatInterface( | |
fn=ask_edu_pilot, | |
chatbot=gr.Chatbot(label="🎓 EduPilot - Conseiller IA", bubble_full_width=False, show_copy_button=True), | |
textbox=gr.Textbox(placeholder="Exemple : Que faire après un bac pro ?", container=True, scale=7), | |
title="🎓 EduPilot - Chatbot d'Orientation Scolaire", | |
theme=gr.themes.Soft(primary_hue="blue", secondary_hue="yellow"), | |
description=welcome_message, | |
).launch() | |