
Streamlit-UI für LangGraph-Agenten: Schritt-für-Schritt-Anleitung
Der Artikel von Soner Yıldırım ist die Fortsetzung eines früheren Beitrags, in dem er einen LangGraph-basierten Kundenservice-Agenten für automatisierte 15-minütige Buchungsgespräche vorgestellt hatte. In diesem zweiten Teil ersetzt er die zunächst genutzte Python-CLI durch eine vollwertige Streamlit-Oberfläche. Der Agent selbst – ein kompiliertes StateGraph-Objekt – bleibt dabei unverändert; Streamlit fungiert lediglich als dünne Präsentationsschicht, die den AgentState rendert und Nutzeraktionen zurück an den Graphen sendet. Ein zentrales Problem ist Streamlits Verhalten, bei jeder Widget-Interaktion das gesamte Python-Skript neu auszuführen: Um den Gesprächsverlauf zu erhalten, werden Graph-Instanz, Langfuse-Handler und Agentenzustand im st.session_state gespeichert. Die initialize_session()-Funktion prüft dabei, ob der Graph für die aktuelle Browser-Session bereits existiert, und verhindert so, dass bei jedem Rerun eine neue Instanz erzeugt wird. LangGraph benötigt eine eindeutige thread_id zur Gesprächsidentifikation, die einmalig per uuid4() generiert und ebenfalls im session_state abgelegt wird. Für Observability ist Langfuse-Tracing integriert; der Handler wird über flush_langfuse() nach jedem Agenten-Aufruf geleert. Das Dependency-Management erfolgt über Poetry, das Streamlit via poetry add streamlit zum Projekt hinzufügt.
Frag die KI zum Artikel
Folgefragen zu Headline, Quelle und Volltext — Antwort streamt in wenigen Sekunden.
Verwandte Beiträge

Streamlit-UI für LangGraph-Agenten: Schritt-für-Schritt-Anleitung
Der Artikel von Soner Yıldırım ist die Fortsetzung eines früheren Beitrags, in dem er einen LangGraph-basierten Kundenservice-Agenten für automatisierte 15-minütige Buchungsgespräche vorgestellt hatte. In diesem zweiten Teil ersetzt er die zunächst genutzte Python-CLI durch eine vollwertige Streamlit-Oberfläche. Der Agent selbst – ein kompiliertes StateGraph-Objekt – bleibt dabei unverändert; Streamlit fungiert lediglich als dünne Präsentationsschicht, die den AgentState rendert und Nutzeraktionen zurück an den Graphen sendet. Ein zentrales Problem ist Streamlits Verhalten, bei jeder Widget-Interaktion das gesamte Python-Skript neu auszuführen: Um den Gesprächsverlauf zu erhalten, werden Graph-Instanz, Langfuse-Handler und Agentenzustand im st.session_state gespeichert. Die initialize_session()-Funktion prüft dabei, ob der Graph für die aktuelle Browser-Session bereits existiert, und verhindert so, dass bei jedem Rerun eine neue Instanz erzeugt wird. LangGraph benötigt eine eindeutige thread_id zur Gesprächsidentifikation, die einmalig per uuid4() generiert und ebenfalls im session_state abgelegt wird. Für Observability ist Langfuse-Tracing integriert; der Handler wird über flush_langfuse() nach jedem Agenten-Aufruf geleert. Das Dependency-Management erfolgt über Poetry, das Streamlit via poetry add streamlit zum Projekt hinzufügt.
Frag die KI zum Artikel
Folgefragen zu Headline, Quelle und Volltext — Antwort streamt in wenigen Sekunden.