作者:Asif Razzaq
人工智能系统常常难以在扩展交互中保留有意义的上下文。这种限制给聊天机器人和虚拟助理等应用程序带来了挑战,在这些应用程序中,保持连贯的对话线程至关重要。大多数传统人工智能模型以无状态方式运行,仅关注即时输入,而不考虑先前交换的连续性。缺乏有效的记忆会导致交互碎片化和不一致,从而阻碍了构建真正引人入胜、上下文敏感的人工智能系统的能力。
认识一下 Memoripy:一个为 AI 应用程序带来真正的内存功能的 Python 库。Memoripy 通过为人工智能系统配备结构化记忆来解决维持对话上下文的问题,使它们能够有效地存储、回忆和构建先前的交互。Memoripy 提供短期和长期记忆存储,使人工智能系统能够保留最近交互的上下文,同时长期保留重要信息。通过以模仿人类认知的方式构建记忆(优先考虑最近发生的事件并保留关键细节),Memoripy 可确保交互随着时间的推移保持相关性和连贯性。
Memoripy 将记忆组织成短期和长期集群,从而可以优先考虑最近的交互以便立即回忆,同时保留重要的历史交互以供将来使用。这可以防止人工智能因过多数据而不堪重负,同时确保相关信息可访问。Memoripy 还实现了语义聚类,将相似的记忆分组在一起以促进高效的上下文检索。这种能力使人工智能系统能够快速识别和链接相关记忆,从而提高响应质量。此外,Memoripy还结合了记忆衰减和强化机制,不太有用的记忆逐渐消失,而经常访问的记忆得到强化,反映了人类记忆的原理。Memoripy 的设计强调本地存储,这使得开发人员能够完全在本地基础设施上处理内存操作。这种方法减轻了隐私问题,并提供了与本地托管语言模型以及 OpenAI 和 Ollama 等外部服务集成的灵活性。
为了说明如何将 Memoripy 集成到 AI 应用程序中,请考虑以下示例:
从 memoripy 导入 MemoryManager、JSONStoragedef main():# 将 'your-api-key' 替换为您的实际 OpenAI API 密钥api_key = "你的密钥"如果不是 api_key:raise ValueError("请设置您的 OpenAI API 密钥。")# 定义聊天和嵌入模型chat_model = "openai" # 选择“openai”或“ollama”进行聊天chat_model_name = "gpt-4o-mini" # 具体聊天模型名称embedding_model = "ollama" # 选择 'openai' 或 'ollama' 进行嵌入embedding_model_name = "mxbai-embed-large" # 具体嵌入模型名称# 选择您的存储选项storage_option = JSONStorage("interaction_history.json")# 使用选定的模型和存储初始化 MemoryManager内存管理器 = 内存管理器(api_key=api_key,聊天模型=聊天模型,chat_model_name=chat_model_name,嵌入模型=嵌入模型,embedding_model_name=embedding_model_name,存储=存储选项)# 新用户提示new_prompt = "我的名字是卡扎尔"# 从历史记录中加载最后 5 次交互(用于上下文)短期,_=内存管理器.load_history()last_interactions = Short_term[-5:] 如果 len(short_term) >= 5 否则short_term# 检索过去的相关交互,不包括最后 5 个related_interactions = memory_manager.retrieve_relevant_interactions(new_prompt, except_last_n=5)# 使用最后的交互和检索到的交互生成响应响应= memory_manager.generate_response(new_prompt,last_interactions,relevant_interactions)# 显示响应print(f"生成的响应:\n{response}")# 提取新交互的概念组合文本 = f“{new_prompt} {响应}”概念 = memory_manager.extract_concepts(combined_text)# 存储这个新的交互及其嵌入和概念new_embedding = memory_manager.get_embedding(combined_text)memory_manager.add_interaction(new_prompt,响应,new_embedding,概念)如果 __name__ == "__main__":主要的()
在此脚本中,内存管理器
使用指定的聊天和嵌入模型以及存储选项进行初始化。处理新的用户提示,系统检索相关的过去交互以生成上下文适当的响应。然后将交互及其嵌入和提取的概念存储起来以供将来参考。
Memoripy 在构建更具情境感知能力的人工智能系统方面提供了重要的进步。保留和调用相关信息的能力使得虚拟助理、对话代理和客户服务系统的开发成为可能,从而提供更加一致和个性化的交互。例如,使用 Memoripy 的虚拟助理可以记住用户偏好或先前请求的详细信息,从而提供更有针对性的响应。初步评估表明,结合 Memoripy 的人工智能系统表现出更高的用户满意度,产生更连贯和上下文适当的响应。此外,Memoripy 对本地存储的重视对于注重隐私的应用程序至关重要,因为它允许安全地处理数据而无需依赖外部服务器。
总之,Memoripy 通过提供增强上下文保留和连贯性的真实记忆功能,代表着向更复杂的人工智能交互迈出了重要一步。通过以密切模仿人类认知过程的方式构建记忆,Memoripy 为人工智能系统铺平了道路,该系统可以根据累积的用户交互进行调整,并提供更加个性化、情境感知的体验。该库为开发人员提供了创建人工智能所需的工具,该人工智能不仅可以处理输入,还可以以有意义的方式从交互中学习。
查看GitHub 存储库。这项研究的所有功劳都归功于该项目的研究人员。另外,不要忘记关注我们 叽叽喳喳并加入我们的 电报频道和 领英 集团奥普。如果您喜欢我们的工作,您就会喜欢我们的新闻通讯..不要忘记加入我们的 55k+ ML SubReddit。