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 | |
with gr.Blocks(theme=gr.themes.Soft(primary_hue="blue", secondary_hue="yellow")) as demo: | |
gr.Markdown("# 🎓 EduPilot - Chatbot d'Orientation IA") | |
gr.Markdown("👋 Bonjour ! Je suis **EduPilot**, ton conseiller IA.\n\nPose-moi une question sur ton avenir scolaire, les filières, les écoles ou les métiers qui t'intéressent.") | |
chatbot = gr.Chatbot(label="Conseiller IA") | |
msg = gr.Textbox(placeholder="Exemple : Que faire après un bac pro ?", show_label=False) | |
def respond(user_message, history): | |
context = query_index(user_message, index, documents, embedder) | |
cleaned = nettoyer_context("\n".join(context)) | |
answer = generate_answer(user_message, cleaned) | |
return "", history + [[user_message, answer]] | |
msg.submit(respond, [msg, chatbot], [msg, chatbot]) | |
demo.launch() | |