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

60.llama_index-记忆(记忆存储到Redis)
内容参考于图灵AI大模型全栈常用的数据库组件ChatStore 类型存储方式主要功能与适用场景持久化推荐场景SimpleChatStore内存 JSON 文件基础存取、persist()/from_persist_path()是开发、测试、小项目RedisChatStoreRedis高性能、高并发、分布式是生产、中大型应用PostgresChatStorePostgreSQL事务支持、SQL 查询是企业级UpstashChatStoreServerless Redis无服务器运维、易扩展是云原生应用TablestoreChatStore等阿里云等云数据库云服务集成是特定云平台Radis存储安装Radis库pip install llama-index-storage-chat-store-redis使用Radis代码如果想使用Redis只需要把下图红框位置改成RedisChatStore就可以了如下图红框历史记录存放到Redis中的内容如果想看Redis怎么读写的源码可以按着CTRL鼠标左键单击下图红框位置如下图红框修改值和获取值的源码如下图红框方法名前面带a字母的表示异步Redis存储代码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_urlredis://localhost:6379 ) # 创建Memory也就是创建历史记录存储空间这里指定让它存放到Redis中 memory ChatMemoryBuffer( token_limit1500, chat_storechat_store, chat_store_keyuser1 ) # 加载文档 documents SimpleDirectoryReader(input_files[./data_file/小说.txt]).load_data() # 创建索引 index VectorStoreIndex.from_documents(documents, embed_modelembed_model) # 创建ChatEngine也就是创建聊天大模型 chat_engine index.as_chat_engine( chat_modebest, memorymemory, verboseTrue, llmllm ) # 开始聊天 response chat_engine.chat(萧炎的斗之力多少段) print(response) # 打印100个-用来区分上方的回答和下方的回答 print(-*100) response chat_engine.chat(萧薰儿比他高多少) print(response)