Edu_Pilot_g / app.py
Programmes's picture
Update app.py
947d949 verified
raw
history blame
1.83 kB
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()