10分钟快速上手Memoripy:从安装到实现语义聚类记忆的完整指南
【免费下载链接】memoripyAn AI memory layer with short- and long-term storage, semantic clustering, and optional memory decay for context-aware applications.项目地址: https://gitcode.com/gh_mirrors/me/memoripy
Memoripy是一款功能强大的Python库,专为管理和检索上下文感知的记忆交互而设计,同时支持短期和长期存储。它非常适合需要记忆管理的AI驱动应用,并且兼容OpenAI、Azure OpenAI、OpenRouter和Ollama等API。通过Memoripy,开发者可以轻松实现上下文记忆检索、记忆衰减与强化、层次聚类以及基于图的关联等高级功能。
🚀 30秒极速安装:开启AI记忆之旅
Memoripy的安装过程简单快捷,只需一行命令即可完成。确保你的Python环境已准备就绪,然后在终端中执行以下命令:
pip install memoripy如果你需要从源代码安装,可以通过以下方式克隆仓库并进行安装:
git clone https://gitcode.com/gh_mirrors/me/memoripy cd memoripy pip install .安装完成后,你就可以开始探索Memoripy的强大功能了。
🔑 核心功能解析:为什么选择Memoripy?
Memoripy提供了一系列强大的功能,使其成为AI应用记忆管理的理想选择:
短期与长期记忆管理
Memoripy能够根据使用情况和相关性,将记忆分为短期和长期进行管理。这种分层管理确保了重要信息能够被优先检索,同时也能有效处理大量历史数据。相关实现可以在memoripy/memory_store.py中找到。
上下文感知检索
通过嵌入技术、概念提取和过去交互分析,Memoripy能够实现高度精准的上下文感知检索。这意味着AI应用可以更好地理解用户意图,并提供更加相关的回应。关键实现代码位于memoripy/memory_manager.py中的retrieve_relevant_interactions方法。
语义聚类与概念提取
Memoripy使用OpenAI或Ollama模型进行概念提取和嵌入生成,将相似的记忆聚合成语义组。这种层次聚类技术大大提高了上下文相关检索的效率和准确性。
记忆衰减与强化机制
为了模拟人类记忆的特性,Memoripy实现了记忆衰减和强化机制。随着时间的推移,未使用的记忆会逐渐衰减,而频繁访问的记忆则会得到强化。这一功能确保了系统资源的高效利用,并保持了记忆库的相关性。
基于图的关联网络
Memoripy构建了一个概念图,并使用扩散激活技术进行基于相关性的检索。这种图结构不仅有助于发现记忆之间的隐藏关联,还能提高检索的准确性和丰富性。
💻 快速入门:5分钟实现你的第一个记忆应用
下面我们将通过一个简单的示例,展示如何使用Memoripy构建一个具有记忆功能的AI应用。
步骤1:导入必要的模块
首先,我们需要导入Memoripy的核心组件:
from memoripy import MemoryManager, JSONStorage from memoripy.implemented_models import OpenAIChatModel, OllamaEmbeddingModel步骤2:初始化存储系统
Memoripy支持多种存储方式,包括内存存储和JSON文件存储。这里我们选择JSON文件存储:
storage = JSONStorage("interaction_history.json")如果你需要临时存储,可以使用内存存储:
from memoripy import InMemoryStorage storage = InMemoryStorage()步骤3:配置模型
接下来,我们需要配置聊天模型和嵌入模型。这里我们使用OpenAI的聊天模型和Ollama的嵌入模型:
chat_model = OpenAIChatModel("your-api-key", "gpt-4o-mini") embedding_model = OllamaEmbeddingModel("mxbai-embed-large")步骤4:创建MemoryManager实例
现在,我们可以创建MemoryManager的实例,将存储和模型整合在一起:
memory_manager = MemoryManager(chat_model, embedding_model, storage=storage)步骤5:存储和检索记忆
使用add_interaction方法存储新的交互,使用retrieve_relevant_interactions方法检索相关记忆:
# 存储新交互 memory_manager.add_interaction("用户输入", "AI回应", embedding, concepts) # 检索相关记忆 relevant_memories = memory_manager.retrieve_relevant_interactions("查询内容")步骤6:生成上下文感知回应
最后,使用generate_response方法生成基于上下文的回应:
response = memory_manager.generate_response("新查询", recent_interactions, relevant_memories)📚 完整示例:构建一个智能对话系统
下面是一个完整的示例,展示如何使用Memoripy构建一个具有记忆功能的智能对话系统:
from memoripy import MemoryManager, JSONStorage from memoripy.implemented_models import OpenAIChatModel, OllamaEmbeddingModel import numpy as np def main(): # 配置API密钥 api_key = "your-api-key" if not api_key: raise ValueError("请设置你的OpenAI API密钥。") # 定义模型 chat_model_name = "gpt-4o-mini" embedding_model_name = "mxbai-embed-large" # 初始化存储 storage = JSONStorage("interaction_history.json") # 创建MemoryManager memory_manager = MemoryManager( OpenAIChatModel(api_key, chat_model_name), OllamaEmbeddingModel(embedding_model_name), storage=storage ) # 用户输入 user_input = "你好,我叫小明" # 加载最近的交互 short_term, _ = memory_manager.load_history() recent_interactions = short_term[-5:] if len(short_term) >=5 else short_term # 检索相关记忆 relevant_memories = memory_manager.retrieve_relevant_interactions(user_input, exclude_last_n=5) # 生成回应 response = memory_manager.generate_response(user_input, recent_interactions, relevant_memories) print(f"AI回应: {response}") # 提取概念并存储新交互 combined_text = f"{user_input} {response}" concepts = memory_manager.extract_concepts(combined_text) embedding = memory_manager.get_embedding(combined_text) memory_manager.add_interaction(user_input, response, embedding, concepts) if __name__ == "__main__": main()🛠️ 高级功能探索:定制你的记忆系统
Memoripy提供了丰富的定制选项,让你可以根据具体需求调整记忆系统的行为。
调整相似度阈值
在检索相关记忆时,可以通过调整相似度阈值来控制结果的相关性:
relevant_memories = memory_manager.retrieve_relevant_interactions(query, similarity_threshold=35)配置上下文窗口大小
生成回应时,可以调整上下文窗口大小,控制使用多少历史交互信息:
response = memory_manager.generate_response(prompt, recent, retrievals, context_window=5)实现自定义存储
如果你需要特殊的存储方式,可以通过继承BaseStorage类来实现自定义存储:
from memoripy.storage import BaseStorage class MyCustomStorage(BaseStorage): # 实现必要的方法 pass📦 依赖项与系统要求
Memoripy依赖于以下几个关键库:
- openai: 用于与OpenAI API交互
- faiss-cpu: 用于高效的相似性搜索
- numpy: 用于数值计算
- networkx: 用于构建概念图
- scikit-learn: 用于聚类算法
- langchain: 用于语言模型集成
- ollama: 用于与Ollama模型交互
这些依赖会在安装Memoripy时自动安装,无需额外操作。
📄 许可证信息
Memoripy采用Apache 2.0许可证,这意味着你可以自由地使用、修改和分发这个库,无论是用于个人项目还是商业应用。详细的许可证信息可以在项目根目录的LICENSE文件中找到。
🤝 贡献与支持
Memoripy是一个开源项目,欢迎任何形式的贡献。如果你有任何建议、bug报告或功能请求,都可以通过项目的Issue系统提交。如果你想直接参与代码开发,也非常欢迎提交Pull Request。
感谢所有为Memoripy做出贡献的开发者,是你们的努力让这个项目不断进步和完善。
通过本指南,你已经了解了Memoripy的基本概念、安装方法和使用技巧。现在,你可以开始构建自己的上下文感知AI应用了。无论是聊天机器人、智能助手还是其他需要记忆功能的AI系统,Memoripy都能为你提供强大的支持。祝你在AI开发的旅程中取得成功!
【免费下载链接】memoripyAn AI memory layer with short- and long-term storage, semantic clustering, and optional memory decay for context-aware applications.项目地址: https://gitcode.com/gh_mirrors/me/memoripy
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考