Spaces:
Sleeping
Sleeping
import gradio as gr | |
from rag_utils import load_faiss_index, get_embedding_model, query_index, nettoyer_context, generate_answer | |
index, documents = load_faiss_index() | |
embedder = get_embedding_model() | |
def respond(message, history): | |
try: | |
context = query_index(message, index, documents, embedder) | |
cleaned_context = nettoyer_context("\n".join(context)) | |
answer = generate_answer(message, cleaned_context) | |
except Exception as e: | |
answer = f"❌ Erreur : {str(e)}" | |
history.append((message, answer)) | |
return "", history | |
with gr.Blocks(theme=gr.themes.Soft(primary_hue="blue", secondary_hue="yellow")) as demo: | |
gr.Markdown("# 🎓 EduPilot – Chatbot d'Orientation IA") | |
gr.Markdown("👋 Bienvenue ! Je suis **EduPilot**, ton conseiller scolaire IA. Pose-moi une question sur les métiers ou les formations.") | |
chatbot = gr.Chatbot(label="Conseiller IA") | |
state = gr.State([]) | |
with gr.Row(): | |
msg = gr.Textbox(placeholder="Exemple : Comment devenir vétérinaire ?", show_label=False, scale=8) | |
btn = gr.Button("Envoyer", scale=1) | |
btn.click(respond, [msg, state], [msg, chatbot, state]) | |
msg.submit(respond, [msg, state], [msg, chatbot, state]) | |
demo.launch() |