ChatWB / app.py
Levin-Aleksey's picture
plotly
71a026f
import chainlit as cl
from graph import workflow
from database import init_storage
import database
_graph = None
@cl.on_chat_start
async def start():
global _graph
try:
await init_storage()
if _graph is None:
_graph = workflow.compile(checkpointer=database.checkpointer)
except Exception as e:
print(f"Ошибка при создании таблиц памяти: {e}")
cl.user_session.set("thread_id", cl.user_session.get("id"))
await cl.Message(content="Система запущена.").send()
@cl.on_message
async def main(message: cl.Message):
thread_id = cl.user_session.get("thread_id")
config = {"configurable": {"thread_id": thread_id}}
# Запускаем LangGraph
async for event in _graph.astream(
{"messages": [("user", message.content)]},
config=config
):
pass
final_state = await _graph.aget_state(config)
last_msg = final_state.values["messages"][-1].content
await cl.Message(content=last_msg).send()