智能问答系统从 Redis 会话存储改造为使用 Chroma 向量库存长上下文,核心思路是构建“热-冷”双层记忆架构:Redis 继续负责高频、精确的短期会话,Chroma 则负责海量、语义化的长期记忆。
一,核心架构:热-冷双层记忆
改造后的系统将拥有两个层次的记忆:
热层(Redis):存储最近几轮原始对话(如最近 10 轮),低延迟、精确、带 TTL。每次请求同步读取,保证对话的连贯性和顺序性。
冷层(Chroma):存储更早对话的摘要或关键事实,通过向量化后存入,支持语义检索。写入异步进行,不阻塞用户请求。
请求处理时,并行读取 Redis 的近期对话和 Chroma 的语义相关记忆,合并后送入 LLM。
二,集成步骤
1. 安装依赖
bash
pip install chromadb
Chroma 支持本地持久化,无需额外服务。
2. 初始化 Chroma 客户端(持久化)
python
import chromadb from chromadb.config import Settings client = chromadb.PersistentClient( path="./chroma_memory", # 数据持久化目录 settings=S