63 lines
2.0 KiB
Python
63 lines
2.0 KiB
Python
import streamlit as st
|
|
import uuid
|
|
|
|
# --- MODULE IMPORTS ---
|
|
try:
|
|
from ui_config import QDRANT_URL, QDRANT_KEY, COLLECTION_PREFIX
|
|
from ui_graph_service import GraphExplorerService
|
|
from ui_components import render_sidebar, render_chat_interface, render_manual_editor, render_graph_explorer
|
|
except ImportError as e:
|
|
st.error(f"Import Error: {e}. Bitte stelle sicher, dass alle UI-Dateien im selben Ordner liegen.")
|
|
st.stop()
|
|
|
|
# --- PAGE SETUP ---
|
|
st.set_page_config(page_title="mindnet v2.6", page_icon="🧠", layout="wide")
|
|
|
|
# --- CSS STYLING ---
|
|
st.markdown("""
|
|
<style>
|
|
.block-container { padding-top: 2rem; max_width: 1200px; margin: auto; }
|
|
|
|
.intent-badge {
|
|
background-color: #e8f0fe; color: #1a73e8;
|
|
padding: 4px 10px; border-radius: 12px;
|
|
font-size: 0.8rem; font-weight: 600;
|
|
border: 1px solid #d2e3fc; display: inline-block; margin-bottom: 0.5rem;
|
|
}
|
|
|
|
.draft-box {
|
|
border: 1px solid #d0d7de;
|
|
border-radius: 6px;
|
|
padding: 16px;
|
|
background-color: #f6f8fa;
|
|
margin-top: 10px;
|
|
margin-bottom: 10px;
|
|
}
|
|
|
|
.preview-box {
|
|
border: 1px solid #e0e0e0;
|
|
border-radius: 6px;
|
|
padding: 24px;
|
|
background-color: white;
|
|
font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
|
|
}
|
|
</style>
|
|
""", unsafe_allow_html=True)
|
|
|
|
# --- SESSION STATE ---
|
|
if "messages" not in st.session_state: st.session_state.messages = []
|
|
if "user_id" not in st.session_state: st.session_state.user_id = str(uuid.uuid4())
|
|
|
|
# --- SERVICE INIT ---
|
|
# Initialisiert den Graph Service einmalig
|
|
graph_service = GraphExplorerService(QDRANT_URL, QDRANT_KEY, COLLECTION_PREFIX)
|
|
|
|
# --- MAIN ROUTING ---
|
|
mode, top_k, explain = render_sidebar()
|
|
|
|
if mode == "💬 Chat":
|
|
render_chat_interface(top_k, explain)
|
|
elif mode == "📝 Manueller Editor":
|
|
render_manual_editor()
|
|
elif mode == "🕸️ Graph Explorer":
|
|
render_graph_explorer(graph_service) |