组织与项目
组织与项目
相关源文件
本章引用的主要源码文件:
docs/api-reference/entities/delete-user.mdxdocs/api-reference/entities/get-users.mdxdocs/api-reference/events/get-event.mdxdocs/api-reference/events/get-events.mdxdocs/api-reference/organizations-projects.mdxdocs/changelog/highlights.mdxdocs/changelog/platform.mdxdocs/openapi.jsondocs/platform/features/memory-decay.mdxdocs/platform/quickstart.mdxmem0/client/main.py
组织与项目为 Mem0 平台提供了多租户模型,实现了不同组织单元和用例之间记忆、配置和实体的逻辑隔离。本文档记录了组织/项目层级结构、初始化、配置以及项目管理能力。
多租户模型
Mem0 平台采用两级层级结构来组织记忆和配置:
层级结构图
来源: mem0/client/main.py:98-100, mem0/client/main.py:149-153, mem0/client/project.py:16-25, docs/api-reference/organizations-projects.mdx:7-21
组织层级
组织代表顶层租户边界。每个组织:
- 拥有唯一的
org_id标识符mem0/client/main.py:98 - 提供计费和访问控制边界
docs/api-reference/organizations-projects.mdx:17-20 - 与其他组织的数据和配置相互隔离
项目层级
项目是组织内的逻辑子划分。每个项目:
- 拥有唯一的
project_id标识符mem0/client/main.py:99 - 维护独立的配置设置,包括
custom_instructions、custom_categories和multilingual支持mem0/client/project.py:176-181,docs/api-reference/organizations-projects.mdx:80-110 - 支持记忆衰减,这是一种通过
decay字段启用的搜索时排序偏差docs/platform/features/memory-decay.mdx:8-10
来源: mem0/client/main.py:98-99, mem0/client/project.py:176-181, docs/platform/features/memory-decay.mdx:55-60
客户端初始化
MemoryClient 可以使用 API 密钥进行初始化,这会触发默认组织和项目的自动发现。
自动发现流程
当实例化 MemoryClient 时,它会调用 _validate_api_key() 来获取租户上下文 mem0/client/main.py:127。
来源: mem0/client/main.py:105-106, mem0/client/main.py:127-135, mem0/client/main.py:140-153
项目配置与记忆衰减
项目维护着控制记忆提取和检索方式的设置。最近新增的一个重要功能是记忆衰减。
配置参数
| 参数 | 类型 | 描述 | 参考 |
|---|---|---|---|
custom_instructions | str | 用于事实提取管线的自定义提示词 | mem0/client/project.py:178 |
custom_categories | list | 用于记忆分类的特定标签 | mem0/client/project.py:179 |
multilingual | bool | 启用使用输入语言进行记忆存储/检索 | docs/api-reference/organizations-projects.mdx:98-99 |
decay | bool | 选择加入的搜索时排序偏差(0.3倍至1.5倍缩放) | docs/platform/features/memory-decay.mdx:25-33 |
记忆衰减实现
记忆衰减是一种在搜索时应用的"软偏差"。它不会过滤记忆,而是根据访问历史重新排序 docs/platform/features/memory-decay.mdx:8-10。
- 缩放因子:范围从
0.3倍(陈旧)到1.5倍(新鲜/刚访问过)docs/platform/features/memory-decay.mdx:27-33 - 强化机制:每次记忆在搜索中被返回时,其访问历史都会更新
docs/platform/features/memory-decay.mdx:44-46 - 钳位处理:最终的公开
score值会被钳位在[0, 1]范围内,以保持 API 一致性docs/platform/features/memory-decay.mdx:42
来源: docs/platform/features/memory-decay.mdx:8-46, docs/api-reference/organizations-projects.mdx:112-123
项目管理接口
MemoryClient 将项目级操作委托给 Project(同步)或 AsyncProject(异步)类 mem0/client/project.py:243, mem0/client/project.py:346。
关键操作
| 方法 | API 端点 | 描述 |
|---|---|---|
client.project.get() | GET /v1/projects/{id}/ | 检索项目元数据和配置 |
client.project.create() | POST /v1/projects/ | 在组织中创建新项目 |
client.project.update() | PATCH /v1/projects/{id}/ | 更新指令、类别或衰减设置 |
client.project.delete() | DELETE /v1/projects/{id}/ | 不可逆地删除项目及其所有记忆 |
来源: mem0/client/project.py:274-343, docs/api-reference/organizations-projects.mdx:52-136
成员管理
项目还支持基于角色的团队成员访问控制 docs/api-reference/organizations-projects.mdx:140-169:
- READER:可以查看/搜索记忆
- OWNER:拥有设置和成员管理的完全访问权限
方法: add_member()、update_member()、remove_member() 和 get_members() docs/api-reference/organizations-projects.mdx:145-161
实体与事件范围限定
所有数据实体和审计日志都限定在组织和项目范围内。
实体
实体(用户、代理、应用、运行)在检索时会根据 org_id 和 project_id 进行过滤 docs/openapi.json:95-112。
- 列出实体:
GET /v1/entities/接受org_id和project_id作为查询参数 - 删除实体:
DELETE /v2/entities/{entity_type}/{entity_id}/允许针对性地移除用户或代理docs/openapi.json:225-246
事件
事件系统为组织和项目活动提供审计追踪 docs/api-reference/events/get-events.mdx:1-12。
- 端点:
GET /v1/events/ - 用途:用于仪表盘、对
FAILED操作进行告警以及合规性日志记录docs/api-reference/events/get-events.mdx:9-12
来源: docs/openapi.json:89-112, docs/api-reference/entities/delete-user.mdx:1-4, docs/api-reference/events/get-events.mdx:1-12