agentic_huge_data_base / wiki
页面 Mem0 · 1.2 安装与设置·DeepWiki 中文全文译文

1.2 · 安装与设置(Installation and Setup)

长期记忆与上下文管理 · 聚焦本章的模块关系、源码依据与实现要点。

项目Mem0 章节1.2 状态全文译文 模块模型调用与提供方适配、检索、召回与索引、界面与交互、配置治理
源码线索
  • Makefile
  • docs/components/vectordbs/config.mdx
  • docs/components/vectordbs/dbs/chroma.mdx
  • docs/components/vectordbs/dbs/qdrant.mdx
  • docs/components/vectordbs/overview.mdx
  • docs/cookbooks/essentials/building-ai-companion.mdx
  • docs/cookbooks/essentials/controlling-memory-ingestion.mdx
  • docs/cookbooks/essentials/entity-partitioning-playbook.mdx
  • docs/cookbooks/essentials/exporting-memories.mdx
  • docs/cookbooks/integrations/healthcare-google-adk.mdx
模块标签
  • 模型调用与提供方适配
  • 检索、召回与索引
  • 界面与交互
  • 配置治理
  • 安装与启动

章节正文

安装与设置

安装与设置

相关源文件

本章引用的主要源码文件:

  • Makefile
  • docs/components/vectordbs/config.mdx
  • docs/components/vectordbs/dbs/chroma.mdx
  • docs/components/vectordbs/dbs/qdrant.mdx
  • docs/components/vectordbs/overview.mdx
  • docs/cookbooks/essentials/building-ai-companion.mdx
  • docs/cookbooks/essentials/controlling-memory-ingestion.mdx
  • docs/cookbooks/essentials/entity-partitioning-playbook.mdx
  • docs/cookbooks/essentials/exporting-memories.mdx
  • docs/cookbooks/integrations/healthcare-google-adk.mdx
  • docs/cookbooks/integrations/openai-tool-calls.mdx
  • docs/cookbooks/overview.mdx
  • docs/docs.json
  • docs/llms.txt
  • docs/open-source/python-quickstart.mdx
  • docs/platform/features/contextual-add.mdx
  • docs/platform/features/entity-scoped-memory.mdx
  • docs/platform/features/v2-memory-filters.mdx
  • mem0-ts/package.json
  • mem0-ts/src/client/index.ts
  • mem0-ts/src/client/mem0.ts
  • mem0-ts/src/client/mem0.types.ts
  • mem0-ts/src/client/telemetry.ts
  • mem0-ts/src/client/tests/memoryClient.webhooks.test.ts
  • mem0/utils/factory.py
  • mem0/vector_stores/configs.py
  • poetry.lock
  • pyproject.toml

本文档涵盖了 Python 和 TypeScript/JavaScript SDK 的安装过程及初始配置。内容包括前置条件、包安装、基本配置以及用于验证安装的快速入门示例。

前置条件

Python SDK 要求
  • Python 3.10 或更高版本 pyproject.toml:15-15, docs/open-source/python-quickstart.mdx:11-11
  • OpenAI API 密钥(OSS 模式的默认提供方)docs/open-source/python-quickstart.mdx:12-12
  • 依赖项:核心包需要 qdrant-clientpydanticopenaiposthogpytzsqlalchemyprotobuf pyproject.toml:16-24
TypeScript/JavaScript SDK 要求
  • Node.js 18 或更高版本 mem0-ts/package.json:130-130
  • npmpnpmyarn 包管理器 docs/llms.txt:17-17, mem0-ts/package.json:135-135
  • OpenAI API 密钥(默认提供方)docs/llms.txt:92-92
环境变量

在本地开发时,两个 SDK 通常使用环境变量来配置 API 凭证:

export OPENAI_API_KEY="sk-..."  # 默认 OpenAI 提供方必需

来源docs/open-source/python-quickstart.mdx:14-18, docs/llms.txt:92-92

SDK 安装

Python SDK

Python SDK 以 mem0ai 包名发布在 PyPI 上。它包含用于自托管部署的 Memory 类和用于托管平台的 MemoryClient 类。

pip install mem0ai

对于特定的后端,可以安装 pyproject.toml 中定义的可选依赖:

  • pip install "mem0ai[vector_stores]"(例如 ChromaDB、Pinecone、Milvus)pyproject.toml:30-54
  • pip install "mem0ai[llms]"(例如 Groq、Anthropic、Ollama)pyproject.toml:55-64
  • pip install "mem0ai[nlp]"(例如 Spacy)pyproject.toml:27-29

来源pyproject.toml:5-7, pyproject.toml:26-74, docs/llms.txt:16-16

TypeScript/JavaScript SDK

TypeScript SDK 可通过 npm 获取,同时支持 CommonJS 和 ESM。

npm install mem0ai

该包提供了不同的入口点:

  • 平台(托管)import MemoryClient from "mem0ai" mem0-ts/package.json:19-23, docs/llms.txt:57-57
  • OSS(自托管)import { Memory } from "mem0ai/oss" mem0-ts/package.json:24-28, docs/llms.txt:114-114

来源mem0-ts/package.json:2-7, docs/llms.txt:17-17, docs/llms.txt:57-57, docs/llms.txt:114-114

安装架构

下图展示了安装和初始化阶段中自然语言概念与代码实体之间的关联。

安装与组件加载流程
Mem0 · 安装与组件加载流程 · 图 1
Mem0 · 安装与组件加载流程 · 图 1

来源pyproject.toml:6-7, mem0/utils/factory.py:30-167, mem0-ts/package.json:2-29, docs/llms.txt:16-19

默认配置

默认情况下,Memory() 类(OSS)会使用一套针对本地开发优化的特定技术栈进行初始化。

默认 OSS 技术栈
Mem0 · 默认 OSS 技术栈 · 图 2
Mem0 · 默认 OSS 技术栈 · 图 2
组件默认实现配置键
大语言模型(LLM)OpenAI gpt-4o-minillm docs/open-source/python-quickstart.mdx:82-82
嵌入器OpenAI text-embedding-3-small(1536 维)embedder docs/open-source/python-quickstart.mdx:83-83
向量存储Qdrant(本地路径:/tmp/qdrantvector_store docs/open-source/python-quickstart.mdx:84-84, mem0/vector_stores/configs.py:64-64
历史记录SQLite(路径:~/.mem0/history.dbhistory_db_path docs/open-source/python-quickstart.mdx:85-85

来源docs/open-source/python-quickstart.mdx:80-87, mem0/vector_stores/configs.py:7-67

基本配置示例

Python OSS 模式(自定义提供方)

要使用自定义配置(例如 Ollama),可以传入一个配置字典。LlmFactoryEmbedderFactory 会动态解析提供方。

from mem0 import Memory

config = {
    "vector_store": {
        "provider": "qdrant",
        "config": {
            "collection_name": "fitness_companion",
            "host": "localhost",
            "port": 6333,
            "embedding_model_dims": 768,
        },
    },
    "llm": {
        "provider": "ollama",
        "config": {
            "model": "llama3.1:latest",
            "ollama_base_url": "http://localhost:11434",
        },
    },
}

memory = Memory.from_config(config)

来源mem0/utils/factory.py:37-56, mem0/vector_stores/configs.py:13-38, docs/open-source/python-quickstart.mdx:21-22

Python 平台模式

MemoryClient 初始化时会向 API 发送 ping 请求并设置遥测标识符。

from mem0 import MemoryClient

client = MemoryClient(api_key="your-api-key")

来源docs/llms.txt:30-32, mem0-ts/src/client/mem0.ts:102-122

快速入门示例

Python 快速入门(OSS)
from mem0 import Memory

m = Memory()

# 添加记忆 - 通过大语言模型(LLM)触发事实提取
m.add("Alex loves basketball.", user_id="alex")

# 搜索记忆 - 执行向量搜索
results = m.search("What does Alex like?", user_id="alex")

来源docs/open-source/python-quickstart.mdx:34-57

TypeScript 快速入门(平台)
import MemoryClient from "mem0ai";

const client = new MemoryClient({ apiKey: "your-api-key" });

// 添加记忆
await client.add(
  [{ role: "user", content: "I love hiking" }],
  { userId: "alice" }
);

来源docs/llms.txt:60-71, mem0-ts/src/client/mem0.ts:251-254

常见安装问题

维度不匹配

如果使用维度不是 1536(例如 768)的自定义模型,必须更新向量存储配置以避免对齐错误。 解决方案:在 vector_store.config 中添加 "embedding_model_dims": 768

来源docs/components/vectordbs/overview.mdx:47-53

依赖管理

在本地开发中,该仓库使用 hatch 作为构建后端。

  • hatch env create:创建包含所有功能的开发环境 Makefile:10-11
  • hatch run test:运行 pytest 测试套件 Makefile:42-43

来源pyproject.toml:1-3, Makefile:1-53