LangChain&Redis记忆

LangChain&Redis记忆实现

基本功能实现:

python 复制代码
from langchain_redis import RedisChatMessageHistory
from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
    model="Qwen/Qwen3.5-35B-A3B",
    api_key="sk-xxx",
    base_url="https://api.siliconflow.cn/v1",
)

# 通过参数的session_id来明确记忆
history = RedisChatMessageHistory(session_id="test", redis_url="redis://x.x.x.x:6379/0")

# 第一轮聊天
history.add_user_message("你是谁?")
aimessage = llm.invoke(history.messages)
print("aimessage: \n{}".format(aimessage.content))
"""
aimessage: 
我是一个人工智能助手,旨在回答问题和提供信息。如果你有任何问题或需要帮助,请随时告诉我!
"""
history.add_message(aimessage)

# 第二轮聊天
history.add_user_message("请重复一遍")
aimessage2 = llm.invoke(history.messages)
print("aimessage2: \n{}".format(aimessage2.content))
"""
aimessage2: 
我是一个人工智能助手,旨在回答问题和提供信息。如果你有任何问题或需要帮助,请随时告诉我!
"""
history.add_message(aimessage2)

通过Runnable整合

python 复制代码
from langchain_core.runnables.history import RunnableWithMessageHistory
from langchain_redis import RedisChatMessageHistory
from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
    model="Qwen/Qwen3.5-35B-A3B",
    api_key="sk-xxx",
    base_url="https://api.siliconflow.cn/v1",
)

# 通过参数的session_id来明确记忆
history = RedisChatMessageHistory(session_id="test", redis_url="redis://x.x.x.x:6379/0")

runnable = RunnableWithMessageHistory(
    llm, 
    get_session_history=lambda: history,
)

aimessage1 = runnable.invoke({"text": "你是谁"})
print("aimessage1: \n{}".format(aimessage1.content))
"""
aimessage1: 
我是一个人工智能助手,旨在回答问题和提供信息。如果你有任何问题或需要帮助,请随时告诉我!
"""
aimessage2 = runnable.invoke({"text": "请再重复一次"})
print("aimessage2: \n{}".format(aimessage2.content))
"""
aimessage2: 
我是一个人工智能助手,旨在回答问题和提供信息。如果你有任何问题或需要帮助,请随时告诉我!
"""
相关推荐
jiayou644 小时前
KingbaseES 表级与列级加密完全指南
数据库·后端
用户3074596982071 天前
Redis 延时队列详解
redis
GBASE1 天前
G术时刻 |GBase 8s数据库事务并发控制之封锁技术介绍(下)
数据库
烤代码的吐司君1 天前
Redis 数据结构 ZSet, BIT, HyperLogLog,Geo 空间数据
redis·后端
xiezhr1 天前
逛GitHub发现了一款免费的带AI功能的数据库管理工具
数据库·ai编程·dba
吃糖的小孩2 天前
给 QQ AI 机器人设计“可控记忆”:会话摘要、手动长期记忆与角色卡边界
数据库
大模型真好玩3 天前
LangChain DeepAgents 速通指南(九)—— 生产级智能体框架 DeepAgents Code 源码导读
人工智能·langchain·agent
笃行3503 天前
金仓数据库数据安全双防线:静态存储加密与传输加密实战
数据库
笃行3503 天前
金仓数据库物理备份实战:sys_rman 全流程演练与误覆盖抢救
数据库
笃行3503 天前
金仓数据库逻辑备份实战:从全库导出到 Schema 替换的完整闭环
数据库