LangChainRedis记忆实现基本功能实现fromlangchain_redisimportRedisChatMessageHistoryfromlangchain_openaiimportChatOpenAI llmChatOpenAI(modelQwen/Qwen3.5-35B-A3B,api_keysk-xxx,base_urlhttps://api.siliconflow.cn/v1,)# 通过参数的session_id来明确记忆historyRedisChatMessageHistory(session_idtest,redis_urlredis://x.x.x.x:6379/0)# 第一轮聊天history.add_user_message(你是谁?)aimessagellm.invoke(history.messages)print(aimessage: \n{}.format(aimessage.content)) aimessage: 我是一个人工智能助手旨在回答问题和提供信息。如果你有任何问题或需要帮助请随时告诉我 history.add_message(aimessage)# 第二轮聊天history.add_user_message(请重复一遍)aimessage2llm.invoke(history.messages)print(aimessage2: \n{}.format(aimessage2.content)) aimessage2: 我是一个人工智能助手旨在回答问题和提供信息。如果你有任何问题或需要帮助请随时告诉我 history.add_message(aimessage2)通过Runnable整合fromlangchain_core.runnables.historyimportRunnableWithMessageHistoryfromlangchain_redisimportRedisChatMessageHistoryfromlangchain_openaiimportChatOpenAI llmChatOpenAI(modelQwen/Qwen3.5-35B-A3B,api_keysk-xxx,base_urlhttps://api.siliconflow.cn/v1,)# 通过参数的session_id来明确记忆historyRedisChatMessageHistory(session_idtest,redis_urlredis://x.x.x.x:6379/0)runnableRunnableWithMessageHistory(llm,get_session_historylambda:history,)aimessage1runnable.invoke({text:你是谁})print(aimessage1: \n{}.format(aimessage1.content)) aimessage1: 我是一个人工智能助手旨在回答问题和提供信息。如果你有任何问题或需要帮助请随时告诉我 aimessage2runnable.invoke({text:请再重复一次})print(aimessage2: \n{}.format(aimessage2.content)) aimessage2: 我是一个人工智能助手旨在回答问题和提供信息。如果你有任何问题或需要帮助请随时告诉我