E_P / app.py
Programmes's picture
Update app.py
3f3d18f verified
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")