Skip to main content

一个智能记忆管理系统,支持短期、中期和长期记忆存储与检索

Project description

MemoryOS

Python License

一个智能记忆管理系统,为对话式 AI 提供短期、中期和长期记忆存储与检索功能。

✨ 特性

  • 多层记忆架构:短期记忆、中期记忆、长期记忆的分层管理
  • 智能检索:基于语义相似度和时间衰减的记忆检索
  • 用户画像:自动分析用户特性和偏好
  • 知识提取:从对话中提取用户私有数据和助手知识
  • 热点分析:基于访问频率和交互强度的记忆热度计算
  • OpenAI 集成:完全兼容 OpenAI API
  • 向量搜索:基于 FAISS 的高效向量检索
  • Web 支持:内置 Flask 支持,便于集成

🚀 快速开始

安装

pip install memoryos

安装时会自动安装所有必需的依赖包:

  • openai - OpenAI API 客户端
  • numpy - 数值计算
  • sentence-transformers - 文本向量化
  • faiss-gpu - 高效向量搜索
  • Flask - Web 框架支持
  • httpx[socks] - HTTP 客户端

基本使用

from memoryos import Memoryos

# 初始化记忆系统
memory = Memoryos(
    user_id="user123",
    openai_api_key="your-openai-api-key",
    data_storage_path="./data"
)

# 添加对话记忆
memory.add_memory(
    user_input="你好,我是张三",
    agent_response="你好张三,很高兴认识你!"
)

# 生成响应(会自动检索相关记忆)
response = memory.get_response(
    query="我之前告诉过你我的名字吗?",
    relationship_with_user="friend"
)
print(response)

📖 详细配置

memory = Memoryos(
    user_id="user123",                    # 用户标识
    assistant_id="assistant_v1",          # 助手标识
    openai_api_key="sk-xxx",             # OpenAI API 密钥
    openai_base_url="https://api.openai.com/v1",  # API 基地址(可选)
    data_storage_path="./data",          # 数据存储路径
    short_term_capacity=10,              # 短期记忆容量
    mid_term_capacity=2000,              # 中期记忆容量
    long_term_knowledge_capacity=100,    # 长期记忆知识容量
    llm_model="gpt-4o-mini"             # 使用的 LLM 模型
)

🏗️ 系统要求

  • Python 3.8+
  • 支持 GPU 的环境(推荐,用于 FAISS 加速)
  • OpenAI API 密钥

📁 数据存储结构

data/
├── users/
│   └── user123/
│       ├── short_term.json     # 短期记忆
│       ├── mid_term.json       # 中期记忆
│       └── long_term_user.json # 用户长期记忆
└── assistants/
    └── assistant_v1/
        └── long_term_assistant.json  # 助手知识库

📄 许可证

MIT License


如有问题,请通过邮件联系:your.email@example.com

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

memoryos_baijia-0.1.0.tar.gz (29.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

memoryos_baijia-0.1.0-py3-none-any.whl (28.4 kB view details)

Uploaded Python 3

File details

Details for the file memoryos_baijia-0.1.0.tar.gz.

File metadata

  • Download URL: memoryos_baijia-0.1.0.tar.gz
  • Upload date:
  • Size: 29.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.8

File hashes

Hashes for memoryos_baijia-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1f3b27af2222cdb301509310ce912037c3ab72de6d9b114d473c464845ef1f6a
MD5 79c88fcefa8908208bd1d79ade6e4e5f
BLAKE2b-256 e913cdfba0fe8c0177451b778281e103bd9d01f11d1057b180276c5cfc037e5c

See more details on using hashes here.

File details

Details for the file memoryos_baijia-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for memoryos_baijia-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5e2e3826fffe0e095081372604379fbda7febe8a469d167e782b793728568fd4
MD5 929b4813168d135e9039a3768f02dd3d
BLAKE2b-256 7c802e544f0e854cf72c4bd663d78efec11edb6c6ca22a54d5d58506f4c1eedb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page