Langgraph使用MemorySaver建立有记忆的图
学习链接https://langgraph.com.cn/tutorials/get-started/3-add-memory/index.html完整实例代码fromdotenvimportload_dotenv load_dotenv()fromtypingimportAnnotatedfromtyping_extensionsimportTypedDictfromlangchain_openaiimportChatOpenAIfromlanggraph.graphimportStateGraph,STARTfromlanggraph.graph.messageimportadd_messagesfromlanggraph.checkpoint.memoryimportMemorySaver modelChatOpenAI(model**,temperature0,timeout60,max_retries3,)classState(TypedDict):messages:Annotated[list,add_messages]graph_builderStateGraph(State)defchatbot(state:State):return{messages:[model.invoke(state[messages])]}graph_builder.add_node(chatbot,chatbot)graph_builder.add_edge(START,chatbot)memoryMemorySaver()graphgraph_builder.compile(checkpointermemory)config{configurable:{thread_id:1}}user_inputHi there! My name is Will.defstream_graph_updates(user_input:str):eventsgraph.stream({messages:[{role:user,content:user_input}]},config,stream_modevalues,)foreventinevents:event[messages][-1].pretty_print()stream_graph_updates(user_input)whileTrue:try:user_inputinput(User: )ifuser_input.lower()in[quit,exit,q]:print(Goodbye!)breakstream_graph_updates(user_input)exceptException:user_inputWhat do you know about LangGraph?print(User: user_input)stream_graph_updates(user_input)break