长期记忆(新)的完整 API 接口参考文档,包含所有 API 的请求参数、返回结果和示例代码。
公共请求信息
参数 | 说明 |
|---|---|
Base URL | |
认证方式 | 在请求 Header 中添加 |
Content-Type |
|
接口概览
长期记忆(新)提供以下 API 接口:
接口名称 | HTTP 方法 | 路径 | 说明 |
|---|---|---|---|
AddMemory | POST |
| 添加记忆片段 |
SearchMemory | POST |
| 搜索记忆片段 |
ListMemory | GET |
| 列出记忆片段 |
DeleteMemory | DELETE |
| 删除记忆片段 |
UpdateMemory | PATCH |
| 更新记忆片段 |
CreateProfileSchema | POST |
| 创建画像模板 |
ListProfileSchemas | GET |
| 获取画像模板列表 |
DeleteProfileSchema | DELETE |
| 删除画像模板 |
UpdateProfileSchema | PATCH |
| 更新画像模板 |
GetProfileSchema | GET |
| 获取画像模板详情 |
GetUserProfile | GET |
| 获取用户画像 |
使用限制
限流(阿里云账号级别):
API 接口 | 限流 |
|---|---|
全部接口 | 总计不超过 3000 QPM |
记忆片段 add 接口 | 120 QPM |
记忆片段 search 接口 | 300 QPM |
核心组件
1. AddMemory - 添加记忆片段
将用户对话存储为记忆片段,自动提取关键信息。若需同时提取用户画像,需传入 profile_schema。
请求体参数:
参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
user_id | string | 是 | 记忆实体 ID,用于标识归属对象,最大 64 个字符 |
messages | array | 是(与custom_content互斥,填custom_content后会忽略messages) | 对话消息列表,每个消息包含 最多支持50条对话记录。 一问一答算 2 条。 |
messages[0].role | string | - | 消息角色,可选值: |
messages[0].content | string | array | - | 消息内容 |
custom_content | string | 是(与messages互斥,填custom_content后会忽略messages) | 自定义内容,最大 512 个字符(与messages互斥,填custom_content后会忽略messages) |
profile_schema | string | 否 | 画像模板 ID,在记忆库详情页获取。不传则不提取用户画像,仅写入记忆片段。 |
memory_library_id | string | 否 | 记忆库 ID,最大 32 个字符,在记忆库卡片上获取。 如不传此参数,会自动选择默认记忆库ID。 |
project_id | string | 否 | 记忆片段规则 ID。 如不传此参数,会自动选择指定记忆库的默认的记忆片段规则 ID。 |
meta_data | object | 否 | 用户自定义信息 |
request_id(string) - 请求IDmemory_nodes(array) - 变更的记忆片段列表,结构如下:
字段 | 类型 | 说明 |
|---|---|---|
memory_node_id | string | 记忆片段 ID |
content | string | 记忆片段内容(从对话中提取) |
event | string | 操作事件类型:ADD(创建)、UPDATE(更新)、DELETE(删除) |
old_content | string | 更新前的记忆片段内容,仅当 event 为"UPDATE"时有效 |
- cURL
- Python
2. SearchMemory - 搜索记忆片段
基于语义相似度搜索相关记忆片段。
请求体参数:
参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
user_id | string | 是 | 记忆实体 ID,用于标识归属对象,最大 64 个字符 |
messages | array | 是 | 对话记录 |
messages[0].role | string | - | 消息角色,可选值: |
messages[0].content | string | array | - | 消息内容 |
memory_library_id | string | 否 | 记忆库 ID,最大 32 个字符,在记忆库卡片上获取。 如不传此参数,会自动选择默认记忆库 ID。 |
project_ids | list | 否 | 记忆片段规则 ID 数组。可传入多记忆片段规则 ID 进行混合检索。 如不传此参数,会自动选择指定记忆库的默认的记忆片段规则 ID。 |
top_k | integer | 否 | 最大召回个数,取值范围1~100(默认 10) |
min_score | double | 否 | 最小相似度分数阈值,值域 [0,1](默认 0.3) |
enable_rerank | boolean | 否 | 是否开启搜索结果的重排序(默认 false) |
plan_version | string | 否 | 策略版本,可选值: |
enable_judge | boolean | 否 | 是否开启意图判别回调(默认 false) |
enable_rewrite | boolean | 否 | 是否开启 query 重写(默认 false) |
request_id(string) - 请求 IDmemory_nodes(array) - 记忆片段列表,包含以下字段:
字段 | 类型 | 说明 |
|---|---|---|
memory_node_id | string | 记忆片段 ID |
content | string | 记忆片段内容(从对话中提取) |
created_at | long | 创建时间 |
updated_at | long | 更新时间 |
- cURL
- Python
3. ListMemory - 列出记忆片段
分页查看用户的所有记忆片段。
查询参数:
参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
user_id | string | 是 | 记忆实体 ID,用于标识归属对象,最大 64 个字符 |
memory_library_id | string | 否 | 记忆库 ID,最大 32 个字符,在记忆库卡片上获取。 如不传此参数,会自动选择默认记忆库 ID。 |
project_id | string | 否 | 记忆片段规则 ID。 如不传此参数,会自动选择指定记忆库的默认的记忆片段规则 ID。 |
page_num | integer | 否 | 页码(从 1 开始,默认 1) |
page_size | integer | 否 | 每页条目数(默认 10) |
request_id(string) - 请求 IDmemory_nodes(array) - 记忆片段列表,包含以下字段:
字段 | 类型 | 说明 |
|---|---|---|
memory_node_id | string | 记忆片段 ID |
content | string | 记忆片段内容(从对话中提取) |
created_at | long | 创建时间 |
updated_at | long | 更新时间 |
meta_data | object | 用户自定义信息 |
total(integer) - 总数page_size(integer) - 每页大小page_num(integer) - 页号
- cURL
- Python
4. DeleteMemory - 删除记忆片段
删除指定的记忆片段。
路径参数:memory_node_id - 记忆片段 ID
查询参数:
参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
memory_library_id | string | 否 | 记忆库 ID,最大 32 个字符,在记忆库卡片上获取。 如不传此参数,会自动选择默认记忆库。 |
- cURL
- Python
5. UpdateMemory - 更新记忆片段
更新记忆片段内容。
路径参数:memory_node_id - 记忆片段 ID
请求体参数:
参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
custom_content | string | 是 | 要更新的记忆片段内容,最大 512 个字符 |
user_id | string | 是 | 记忆实体 ID,用于标识归属对象,最大 64 个字符 |
memory_library_id | string | 否 | 记忆库 ID,最大 32 个字符,在记忆库卡片上获取。 如不传此参数,会自动选择默认记忆库。 |
timestamp | long | 否 | 记忆片段对应事件发生时的时间戳(秒级 Unix 时间戳,默认当前时间) |
meta_data | object | 否 | 用户自定义信息(增量更新) |
request_id (string) - 请求 ID
示例代码:
- cURL
- Python
6. CreateProfileSchema - 创建画像模板
请求体参数:
参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
memory_library_id | string | 否 | 记忆库 ID,最大 32 个字符,在记忆库卡片上获取。 如不传此参数,会自动选择默认记忆库ID。 |
name | string | 是 | 模板名称,最大 32 个字符 |
description | string | 否 | 模板描述,最大 128 个字符 |
plan_version | string | 否 | 策略版本,可选值: |
attributes | array | 是 | 模板的属性维度数组 |
attributes[0].name | string | 是 | 属性名称,最大 32 个字符。应该尽可能保证在语义中唯一,不然会对抽取效果有一定影响,如["姓名"、"名称"、"名字"],["年龄","年纪","岁数"]不应该同时出现 |
attributes[0].description | string | 否 | 描述,最大 128 个字符 |
attributes[0].default_value | string | 否 | 初始值,最大 128 个字符,选填 |
request_id(string) - 请求 IDprofile_schema_id(string) - 画像模板 ID
- cURL
- Python
7. ListProfileSchemas - 获取画像模板列表
分页获取所有画像模板列表。
查询参数:
参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
memory_library_id | string | 否 | 记忆库 ID,最大 32 个字符,在记忆库卡片上获取。 如不传此参数,会自动选择默认记忆库ID。 |
page_size | integer | 否 | 每页条目数(默认 10) |
page_num | integer | 否 | 页码(从 1 开始,默认 1) |
request_id(string) - 请求 IDprofile_schemas(array) - 画像模板列表,每个模板包含:name(string) - 画像模板名称description(string) - 画像模板描述profile_schema_id(string) - 画像模板 IDtotal(integer) - 总数
- cURL
- Python
8. DeleteProfileSchema - 删除画像模板
删除指定的画像模板。
路径参数:profile_schema_id - 画像模板 ID
查询参数:memory_library_id:记忆库 ID,最大 32 个字符,在记忆库卡片上获取。
request_id (string) - 请求ID
示例代码:
- cURL
- Python
9. UpdateProfileSchema - 更新画像模板
更新画像模板的名称、描述和属性。
路径参数:profile_schema_id - 画像模板 ID
请求体参数:
参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
memory_library_id | string | 否 | 记忆库 ID,最大 32 个字符,在记忆库卡片上获取。 如不传此参数,会自动选择默认记忆库ID。 |
name | string | 否 | 模板名称,最大 32 个字符 |
description | string | 否 | 模板描述,最大 128 个字符 |
attributes_operations | array | 否 | 属性操作列表 |
attributes_operations[0].op | string | 是 | 操作类型: |
attributes_operations[0].attribute_id | string | 否 | 要操作的属性标识(操作类型为更新或删除时必填) |
attributes_operations[0].name | string | 否 | 属性名称,最大 32 个字符(操作类型为新增时必填) |
attributes_operations[0].description | string | 否 | 描述,最大 128 个字符 |
attributes_operations[0].default_value | string | 否 | 默认值,最大 128 个字符 |
request_id (string) - 请求ID
示例代码:
- cURL
- Python
10. GetProfileSchema - 获取画像模板详情
获取指定画像模板的详细信息。
路径参数:profile_schema_id - 画像模板 ID
查询参数:memory_library_id:记忆库 ID,最大 32 个字符,在记忆库卡片上获取。
request_id(string) - 请求IDname(string) - 画像模板名称description(string) - 画像模板描述attributes(array) - 属性列表,每个属性包含:attribute_id(string) - 属性IDname(string) - 名称description(string) - 描述default_value(string) - 属性初始值
- cURL
- Python
11. GetUserProfile - 获取用户画像
获取已提取的用户画像信息。画像属性由 AddMemory 传入 profile_schema 时提取;若返回的属性值均为空,请确认调用 AddMemory 时已传入相同的画像模板 ID。
路径参数:profile_schema_id - 画像模板 ID
查询参数:
-
user_id- 记忆实体 ID,用于标识归属对象,最大 64 个字符 -
memory_library_id:记忆库 ID,最大 32 个字符,在记忆库卡片上获取。如不传此参数,会自动选择默认记忆库ID。
request_id(string) - 请求IDprofile(object) - 用户画像对象,包含以下字段:
字段 | 类型 | 说明 |
|---|---|---|
schema_name | string | 画像模板名称 |
schema_description | string | 画像模板描述 |
attributes | array | 属性列表,每个属性包含以下字段: |
字段 | 类型 | 说明 |
|---|---|---|
id | string | 属性 ID |
name | string | 名称 |
value | string | value(提取的属性值,未提取时不存在此字段) |
- cURL
- Python
错误处理
调用记忆库相关 API 时可能遇到以下常见错误:
错误码 | HTTP 状态码 | 说明 | 处理建议 |
|---|---|---|---|
InvalidApiKey | 401 | API Key 无效或未配置 | 检查环境变量 DASHSCOPE_API_KEY 是否正确配置 |
UserNotFound | 404 | 指定的 user_id 不存在 | 确认 user_id(记忆实体 ID)正确,或先调用 AddMemory 添加记忆片段 |
TooManyRequests | 429 | 请求频率超过限制 | 降低请求频率,建议两次请求间隔至少 1 秒 |
InternalError | 500 | 服务内部错误 | 稍后重试,如持续出现请联系技术支持 |