Streamlit-felületet kap a LangGraph AI-ügynök — chatbotként foglal időpontot
A LangGraph AI-ügynök Python CLI helyett Streamlit-felületet kap, így chatbotként kezeli az ügyfélszolgálati időpontfoglalást, árajánlatot ad és időpontokat javasol.

A LangGraph AI-ügynök korábbi, terminál alapú tesztelése helyett mostantól Streamlit-felületen keresztül kommunikál az ügyfelekkel. A fejlesztő, Soner Yıldırım, a korábbi cikkében bemutatott, ügyfélszolgálati időpontfoglalást automatizáló ügynökét építette tovább, amely képes az ügyfelek igényeinek megértésére, árajánlatok kalkulálására, elfogadás vagy elutasítás kezelésére, időpontok javaslására, valamint a foglalások visszaigazolására és rögzítésére. (Towards Data Science)
Architektúra és telepítés
A Streamlit-alkalmazás telepítése a `poetry add streamlit` paranccsal történik. A `streamlit_app.py` fájlban importálják a szükséges komponenseket, beleértve a LangGraph építőt, a modelleket és az observabilitási segédprogramokat. Az ügynök grafikus felépítése nem tartalmaz Streamlit-specifikus logikát, ami lehetővé teszi a rugalmas használatot. A `INITIAL_STATE` inicializálása biztosítja a kezdeti állapotot, üres foglalási részletekkel és nulla árral.
Állapotkezelés és megjelenítés
A Streamlit-alkalmazásban a beszélgetés állapotának megőrzéséhez `st.session_state`-t használnak, mivel a Streamlit minden interakcióra újra futtatja a szkriptet. A `initialize_session` függvény gondoskodik arról, hogy a LangGraph-gráf csak egyszer jöjjön létre a böngésző-munkamenet során. A `_invoke` függvény kezeli a felhasználói bemenetet, elküldi azt a LangGraph-ügynöknek, és elmenti a kapott állapotot. Ez a lépés magában foglalja az LLM-hívásokat is, az eredményeket pedig a `st.session_state`-ben tárolják, hogy a felület mindig a legfrissebb információkat jelenítse meg.
A `_render_messages` függvény felelős a beszélgetés megjelenítéséért a Streamlit felületén. Az ügynök kezdetben egy üdvözlő üzenettel indít, majd megjeleníti a felhasználó és az asszisztens üzeneteit. Az üzenetek típusától függően ( `HumanMessage` vagy `AIMessage` ) azonosítja a beszélgetőpartnert, és ennek megfelelően jeleníti meg a tartalmat a `st.chat_message` komponens segítségével.