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")