Memoripy:支持 AI 应用上下文感知的记忆管理 Python 库

本文涉及的产品
NLP 自学习平台,3个模型定制额度 1个月
NLP自然语言处理_基础版,每接口每天50万次
NLP自然语言处理_高级版,每接口累计50万次
简介: Memoripy 是一个 Python 库,用于管理 AI 应用中的上下文感知记忆,支持短期和长期存储,兼容 OpenAI 和 Ollama API。

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


🚀 快速阅读

  • 功能:Memoripy 支持短期和长期记忆管理、上下文检索、概念提取和嵌入生成、图基关联、层次聚类及记忆衰减和强化。
  • 技术原理:使用内存和 JSON 文件存储交互数据,通过自然语言处理技术将文本转换为嵌入向量,基于余弦相似度算法进行相似性检索。
  • 应用场景:适用于聊天机器人、虚拟助手、教育软件、推荐系统和健康监测等场景。

正文(附运行示例)

Memoripy 是什么

Memoripy.png

Memoripy 是一个 Python 库,为 AI 应用提供上下文感知的记忆管理。它支持短期和长期记忆存储,兼容 OpenAI 和 Ollama API。核心功能包括记忆检索、概念提取、图基关联、层次聚类及记忆衰减和强化。

Memoripy 帮助 AI 系统更好地理解和响应用户交互,提升对话的连贯性和个性化体验。通过这些功能,Memoripy 可以应用于聊天机器人、虚拟助手、教育软件、推荐系统和健康监测等多种场景。

如何运行 Memoripy

你可以使用 pip 安装 Memoripy:

pip install memoripy

以下示例展示了如何在 Python 脚本中设置和使用 Memoripy。

示例:example.py

这个示例脚本展示了 Memoripy 的主要功能,包括初始化、存储交互、检索相关记忆和生成响应。

from memoripy import MemoryManager, JSONStorage

def main():
    # 替换为你的实际 OpenAI API 密钥
    api_key = "your-key"
    if not 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")
    # 或者使用内存存储:
    # from memoripy import InMemoryStorage
    # storage_option = InMemoryStorage()

    # 初始化 MemoryManager
    memory_manager = MemoryManager(
        api_key=api_key,
        chat_model=chat_model,
        chat_model_name=chat_model_name,
        embedding_model=embedding_model,
        embedding_model_name=embedding_model_name,
        storage=storage_option
    )

    # 新用户提示
    new_prompt = "我的名字是 Khazar"

    # 加载历史交互(用于提供上下文)
    short_term, _ = memory_manager.load_history()
    last_interactions = short_term[-5:] if len(short_term) >= 5 else short_term

    # 检索相关的历史交互,排除最后 5 条
    relevant_interactions = memory_manager.retrieve_relevant_interactions(new_prompt, exclude_last_n=5)

    # 生成响应
    response = memory_manager.generate_response(new_prompt, last_interactions, relevant_interactions)

    # 显示响应
    print(f"生成的响应:\n{response}")

    # 提取新交互的概念
    combined_text = f"{new_prompt} {response}"
    concepts = memory_manager.extract_concepts(combined_text)

    # 存储新的交互及其嵌入和概念
    new_embedding = memory_manager.get_embedding(combined_text)
    memory_manager.add_interaction(new_prompt, response, new_embedding, concepts)

if __name__ == "__main__":
    main()

类和模块

  • MemoryManager:管理记忆交互,检索相关信息,并基于过去的交互生成响应。
  • MemoryStore:存储和组织在短期和长期记忆中的交互,支持基于相关性的聚类和检索。
  • InMemoryStorage 和 JSONStorage:分别将记忆存储在内存数据结构或 JSON 文件中。
  • BaseStorage:定义存储方法的抽象基类。

核心功能

  1. 初始化记忆:从选定的存储中加载先前的交互并初始化记忆。
  2. 添加交互:存储新的交互及其嵌入、概念、提示和输出。
  3. 检索相关交互:基于查询使用余弦相似度、衰减因子和传播激活搜索过去的交互。
  4. 生成响应:结合当前提示和检索到的交互生成情境相关的响应。
  5. 衰减和强化:对未使用的记忆增加衰减,对频繁访问的记忆进行强化。

依赖项

Memoripy 依赖于以下几个库,这些库将通过 pip install memoripy 自动安装:

  • openai
  • faiss-cpu
  • numpy
  • networkx
  • scikit-learn
  • langchain
  • ollama

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦

相关文章
|
3天前
|
存储 人工智能 Java
AI 超级智能体全栈项目阶段二:Prompt 优化技巧与学术分析 AI 应用开发实现上下文联系多轮对话
本文讲解 Prompt 基本概念与 10 个优化技巧,结合学术分析 AI 应用的需求分析、设计方案,介绍 Spring AI 中 ChatClient 及 Advisors 的使用。
62 4
AI 超级智能体全栈项目阶段二:Prompt 优化技巧与学术分析 AI 应用开发实现上下文联系多轮对话
|
3天前
|
存储 人工智能 Java
AI 超级智能体全栈项目阶段三:自定义 Advisor 与结构化输出实现以及对话记忆持久化开发
本文介绍如何在Spring AI中自定义Advisor实现日志记录、结构化输出、对话记忆持久化及多模态开发,结合阿里云灵积模型Qwen-Plus,提升AI应用的可维护性与功能性。
61 2
AI 超级智能体全栈项目阶段三:自定义 Advisor 与结构化输出实现以及对话记忆持久化开发
|
3天前
|
人工智能 安全 中间件
阿里云 AI 中间件重磅发布,打通 AI 应用落地“最后一公里”
9 月 26 日,2025 云栖大会 AI 中间件:AI 时代的中间件技术演进与创新实践论坛上,阿里云智能集团资深技术专家林清山发表主题演讲《未来已来:下一代 AI 中间件重磅发布,解锁 AI 应用架构新范式》,重磅发布阿里云 AI 中间件,提供面向分布式多 Agent 架构的基座,包括:AgentScope-Java(兼容 Spring AI Alibaba 生态),AI MQ(基于Apache RocketMQ 的 AI 能力升级),AI 网关 Higress,AI 注册与配置中心 Nacos,以及覆盖模型与算力的 AI 可观测体系。
|
4天前
|
数据采集 人工智能 前端开发
Playwright与AI智能体的网页爬虫创新应用
厌倦重复测试与低效爬虫?本课程带您掌握Playwright自动化工具,并融合AI大模型构建智能体,实现网页自主分析、决策与数据提取,完成从脚本执行到智能架构的能力跃升。
|
4天前
|
设计模式 人工智能 API
AI智能体开发实战:17种核心架构模式详解与Python代码实现
本文系统解析17种智能体架构设计模式,涵盖多智能体协作、思维树、反思优化与工具调用等核心范式,结合LangChain与LangGraph实现代码工作流,并通过真实案例验证效果,助力构建高效AI系统。
80 7
|
4天前
|
人工智能 运维 安全
聚焦 AI 应用基础设施,云栖大会 Serverless AI 全回顾
2025 年 9 月 26 日,为期三天的云栖大会在杭州云栖小镇圆满闭幕。随着大模型技术的飞速发展,我们正从云原生时代迈向一个全新的 AI 原生应用时代。为了解决企业在 AI 应用落地中面临的高成本、高复杂度和高风险等核心挑战,阿里云基于函数计算 FC 发布一系列重磅服务。本文将对云栖大会期间 Serverless+AI 基础设施相关内容进行全面总结。
|
5天前
|
设计模式 机器学习/深度学习 人工智能
AI-Native (AI原生)图解+秒懂: 什么是 AI-Native 应用(AI原生应用)?如何设计一个 AI原生应用?
AI-Native (AI原生)图解+秒懂: 什么是 AI-Native 应用(AI原生应用)?如何设计一个 AI原生应用?
|
6天前
|
人工智能 负载均衡 API
Vercel 发布 AI Gateway 神器!可一键访问数百个模型,助力零门槛开发 AI 应用
大家好,我是Immerse,独立开发者、AGI实践者。分享编程、AI干货、开源项目与个人思考。关注公众号“沉浸式趣谈”,获取独家内容。Vercel新推出的AI Gateway,统一多模型API,支持自动切换、负载均衡与零加价调用,让AI开发更高效稳定。一行代码切换模型,告别接口烦恼!
59 1
Vercel 发布 AI Gateway 神器!可一键访问数百个模型,助力零门槛开发 AI 应用
|
9天前
|
边缘计算 人工智能 算法
AI在智慧能源管理中的边缘计算应用
AI在智慧能源管理中的边缘计算应用
73 13

热门文章

最新文章

推荐镜像

更多