60.llama_index-记忆(记忆存储到Redis)

内容参考于:图灵AI大模型全栈

常用的数据库组件

ChatStore 类型 存储方式 主要功能与适用场景 持久化 推荐场景
SimpleChatStore 内存 + JSON 文件 基础存取、persist()/from_persist_path() 开发、测试、小项目
RedisChatStore Redis 高性能、高并发、分布式 生产、中大型应用
PostgresChatStore PostgreSQL 事务支持、SQL 查询 企业级
UpstashChatStore Serverless Redis 无服务器运维、易扩展 云原生应用
TablestoreChatStore 阿里云等云数据库 云服务集成 特定云平台

Radis存储

安装Radis库

python 复制代码
pip install llama-index-storage-chat-store-redis

使用Radis代码,如果想使用Redis只需要把下图红框位置改成RedisChatStore就可以了

如下图红框,历史记录存放到Redis中的内容

如果想看Redis怎么读写的源码,可以按着CTRL鼠标左键单击下图红框位置

如下图红框修改值和获取值的源码

如下图红框,方法名前面带a字母的表示异步

Redis存储代码

python 复制代码
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
from llama_index.core.memory import ChatMemoryBuffer
from llama_index.storage.chat_store.redis import RedisChatStore
from base_llm import llm, embed_model

# 创建RedisChatStore,也就是创建一个可以连接和操作Readis数据库的变量
chat_store = RedisChatStore(
    redis_url="redis://localhost:6379"
)

# 创建Memory,也就是创建历史记录存储空间,这里指定让它存放到Redis中
memory = ChatMemoryBuffer(
    token_limit=1500,
    chat_store=chat_store,
    chat_store_key="user1"
)

# 加载文档
documents = SimpleDirectoryReader(input_files=["./data_file/小说.txt"]).load_data()

# 创建索引
index = VectorStoreIndex.from_documents(documents, embed_model=embed_model)

# 创建ChatEngine,也就是创建聊天大模型
chat_engine = index.as_chat_engine(
    chat_mode="best",
    memory=memory,
    verbose=True,
    llm=llm
)


# 开始聊天
response = chat_engine.chat("萧炎的斗之力多少段")
print(response)
# 打印100个-,用来区分上方的回答和下方的回答
print('-'*100)
response = chat_engine.chat("萧薰儿比他高多少")
print(response)

相关推荐
染指111013 小时前
79.高级RAG-md文档元素分割器
markdown·rag·llama_index·llamaindex
染指111017 小时前
80.高级RAG-LLamaIndex实际应用-金融助手
人工智能·rag·llama_index·llamaindex
染指11102 天前
76.高级RAG-后检索器(时间排序)
人工智能·python·llama_index·llamaindex
染指11105 天前
73.高级RAG-后检索器(文档过滤)
llamaindex·高级rag
染指11108 天前
72.高级RAG-sql检索器
python·sql·mysql·llama·llamaindex·高级rag
染指111010 天前
70.高级RAG-混合检索器(BM25和向量检索,RRF、归一化分数、DBSF公式详解,融合排序)
rag·llama_index·llamaindex
染指111017 天前
64.高级RAG-摄取管道
人工智能·llama_index·llamaindex·摄取管道
染指111021 天前
61.RAG-RAG存在的问题
人工智能·llama·rag·llama_index·llamaindex
染指11101 个月前
56.llama_index-查询引擎
人工智能·llama·rag·llama_index·llamaindex