个人记忆层服务

OpenMemory是一个为大型语言模型(LLMs)提供的个人记忆层服务,具有私有化、便携性和开源特性,数据本地存储,确保用户完全控制。

  • by mem0ai
  • Python
  • 本地部署
  • 6.8万 星标
  • 更新于

使用说明

OpenMemory

⚠️ 日落通知: OpenMemory正在日落。对于带有仪表板的本地自托管内存,请使用 Mem0自托管服务器 相反。开始使用 cd server && make bootstrap。请参阅 自托管文档 有关配置详细信息。

OpenMemory是LLM的个人存储层——私有、便携和开源。你的记忆存储在本地,让你完全控制你的数据。构建具有个性化记忆的AI应用程序,同时保护您的数据安全。

简易设置

先决条件

  • 码头工人
  • OpenAI API密钥

您可以通过运行以下命令快速运行OpenMemory:

curl -sL https://raw.githubusercontent.com/mem0ai/mem0/main/openmemory/run.sh | bash

你应该设置 OPENAI_API_KEY 作为全局环境变量:

export OPENAI_API_KEY=your_api_key

您还可以设置 OPENAI_API_KEY 作为脚本的参数:

curl -sL https://raw.githubusercontent.com/mem0ai/mem0/main/openmemory/run.sh | OPENAI_API_KEY=your_api_key bash

先决条件

  • Docker和Docker Compose
  • Python 3.9+(用于后端开发)
  • Node.js(用于前端开发)
  • OpenAI API密钥(LLM交互所需,运行 cp api/.env.example api/.env 然后改变 OPENAI_API密钥 给你的)

快速入门

1.设置环境变量

在运行项目之前,您需要为API和UI配置环境变量。

您可以通过以下方式之一完成此操作:

  • 手动地:
    创建一个 .env 以下每个目录中的文件:

    • /api/.env
    • /ui/.env
  • 使用 .env.example 文件:
    复制并重命名示例文件:

    cp api/.env.example api/.env
    cp ui/.env.example ui/.env
    
  • 使用Makefile (如果支持):
    运行:

    make env
    
  • 示例 /api/.env

OPENAI_API_KEY=sk-xxx
USER=<user-id> # The User Id you want to associate the memories with
  • LLM配置(可选)

默认情况下,OpenMemory使用OpenAI(gpt-4o-mini)对于LLM和嵌入器。您可以在中使用这些环境变量配置其他提供程序 /api/.env:

变量 描述 默认值
LLM_PROVIDER LLM提供者(openai, ollama, anthropic, groq, together, deepseek等等) openai
LLM_MODEL LLM提供程序的型号名称 gpt-4o-mini (OpenAI)/ llama3.1:latest (奥拉马)
LLM_API_KEY LLM提供程序的API密钥 OPENAI_API_KEY 有人是。
LLM_BASE_URL LLM API的自定义基本URL 提供程序默认值
OLLAMA_BASE_URL Ollama特定的基本URL(优先于 LLM_BASE_URL Ollama) http://localhost:11434
EMBEDDER_PROVIDER 嵌入器提供程序(默认为 ollama 当LLM是Ollama时,否则 openai) openai
EMBEDDER_MODEL 嵌入器的型号名称 text-embedding-3-small (OpenAI)/ nomic-embed-text (奥拉马)
EMBEDDER_API_KEY 嵌入程序提供程序的API密钥 OPENAI_API_KEY 有人是。
EMBEDDER_BASE_URL 嵌入程序API的自定义基本URL 提供程序默认值

示例:使用Ollama(完全本地)

LLM_PROVIDER=ollama
LLM_MODEL=llama3.1:latest
EMBEDDER_PROVIDER=ollama
EMBEDDER_MODEL=nomic-embed-text
OLLAMA_BASE_URL=http://localhost:11434

示例:使用Anthropic

LLM_PROVIDER=anthropic
LLM_MODEL=claude-sonnet-4-20250514
LLM_API_KEY=sk-ant-xxx
  • 示例 /ui/.env

NEXT_PUBLIC_API_URL=http://localhost:8765
NEXT_PUBLIC_USER_ID=<user-id> # Same as the user id for environment variable in api

2.建设和运行项目

您可以使用以下两个命令运行项目:

make build # builds the mcp server and ui
make up  # runs openmemory mcp server and ui

运行这些命令后,您将获得:

  • OpenMemory MCP服务器运行在:http://localhost:8765(API文件可在http://localhost:8765/docs)
  • OpenMemory UI运行于:http://localhost:3000

UI不工作 localhost:3000?

如果UI在上无法正常启动 http://localhost:3000,尝试手动运行它:

cd ui
pnpm install
pnpm dev

MCP客户端设置

使用以下一步命令将OpenMemory Local MCP配置到客户端。一般命令格式如下:

npx @openmemory/install local http://localhost:8765/mcp/<client-name>/sse/<user-id> --client <client-name>

替换 <client-name> 具有所需的客户端名称和 <user-id> 使用环境变量中指定的值。

项目结构

  • api/ -后端API+MCP服务器
  • ui/ -前端React应用程序

贡献

我们是一支对人工智能和开源软件的未来充满热情的开发团队。凭借在这两个领域多年的经验,我们相信社区驱动开发的力量,并很高兴能够构建使人工智能更易于访问和个性化的工具。

我们欢迎各种形式的捐款:

  • 错误报告
  • 文档改进
  • 代码贡献
  • 测试和反馈
  • 社区支持

如何做出贡献:

  1. 分叉存储库
  2. 创建功能分支(git checkout -b openmemory/feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add some amazing feature')
  4. 推到分支(git push origin openmemory/feature/amazing-feature)
  5. 打开拉取请求

加入我们,共同打造人工智能内存管理的未来!您的贡献有助于使OpenMemory更好地服务于每个人。