Spaces:
Running
Running
File size: 1,416 Bytes
4b4260f 3f3d18f 4b4260f 3adb589 9464357 4b4260f 1dc3919 4b4260f 1dc3919 4b4260f 1dc3919 4b4260f e5d350e 3adb589 1dc3919 354ebe9 e5d350e 1dc3919 e5d350e |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
import streamlit as st
from rag_utils import load_faiss_index, get_embedding_model, query_index, generate_answer, nettoyer_context
st.set_page_config(page_title="🎓 EduPilot", page_icon="🧠")
st.title("🎓 EduPilot ")
# Initialiser la mémoire de session
if "chat_history" not in st.session_state:
st.session_state.chat_history = []
# Chargement des données et du modèle d'embedding
index, documents = load_faiss_index()
model_embed = get_embedding_model()
# Entrée utilisateur
user_input = st.text_input("Pose ta question ici :")
if user_input:
st.session_state.chat_history.append(f"Utilisateur : {user_input}")
# Recherche des documents
top_docs = query_index(user_input, index, documents, model_embed)
context = nettoyer_context("\n".join(top_docs))
# Ajouter les 6 derniers échanges comme contexte
history = "\n".join(st.session_state.chat_history[-6:])
full_prompt = f"{history}\n\nContexte :\n{context}"
# Génération de la réponse
response = generate_answer(user_input, full_prompt)
st.session_state.chat_history.append(f"Chatbot : {response}")
# Affichage
st.markdown("### ✨ Réponse du chatbot :")
st.write(response)
with st.expander("🧠 Historique de la conversation"):
for msg in st.session_state.chat_history:
st.write(msg)
st.markdown("---")
st.caption("🔹 Développé avec ❤️ par EduPilot") |