Skip to main content

异步添加记忆

异步将对话存储为记忆,通过事件 ID 查询执行状态与结果

POST
/add-async
cURL
curl --request POST \
  --url 'https://{workspaceId}.cn-beijing.maas.aliyuncs.com/api/v2/apps/memory/add-async' \
  --header 'Authorization: Bearer <YOUR_API_KEY>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "user_id": "<string>",
  "messages": [
    {
      "role": "user",
      "content": null,
      "tool_calls": [
        {}
      ],
      "tool_call_id": "<string>"
    }
  ],
  "custom_content": "<string>",
  "profile_schema": "<string>",
  "memory_library_id": "<string>",
  "project_id": "<string>",
  "project_ids": [
    "<string>"
  ],
  "skill_name": "<string>",
  "skill_description": "<string>",
  "skill_tags": [
    "<string>"
  ],
  "meta_data": {}
}
'
{
  "request_id": "<string>",
  "event_id": "<string>",
  "events": [
    {
      "event_id": "<string>",
      "event_type": "<string>",
      "resource_type": "observation",
      "resource_id": "<string>",
      "memory_library_id": "<string>",
      "user_id": "<string>",
      "status": "PENDING",
      "created_at": 0,
      "updated_at": 0
    }
  ]
}
异步将用户对话存储为记忆。接口立即返回事件 ID,记忆提取在后台执行,通过 GetEvent 查询执行状态与结果。与同步的 AddMemory 相比,异步接口不会在请求内等待提取完成,适合对话轮次多、提取耗时长的场景。
调用前请确保已获取 API Key,详见鉴权。

请求参数

参数类型必填说明
user_idstring是记忆实体 ID,用于标识归属对象,最大 64 字符
messagesarray是*对话消息列表,最多 50 条。role 支持 user / assistant / tool;content 支持文本字符串或标准 OpenAI 格式的多模态数组;assistant 消息可携带 tool_calls;role 为 tool 的消息需携带对应的 tool_call_id
custom_contentstring是*自定义内容,最大 512 字符。与 messages 互斥,只能绑定到一个 project_id
profile_schemastring否画像模板 ID。不传则不提取用户画像
memory_library_idstring否记忆库 ID,不传则使用默认记忆库
project_idstring否自定义项目 ID,支持记忆二级隔离。与 project_ids 互斥
project_idsarray[string]否多个自定义项目 ID。与 project_id 互斥
skill_namestring否skill 内容名称
skill_descriptionstring否skill 内容描述
skill_tagsarray[string]否skill 内容标签
meta_dataobject否用户自定义信息
messages 和 custom_content 互斥,填 custom_content 后会忽略 messages。
project 为 skill 的情况下,如果传入 custom_content,则必传 skill_name、skill_description、skill_tags,否则接口报错。

返回结果

字段类型说明
request_idstring请求 ID
event_idstring执行任务事件 ID
eventsarray执行的任务列表。一次调用可能产生多个任务,例如事实记忆与用户画像各一个
events[].event_idstring事件 ID
events[].event_typestring事件类型,例如 ADD_ASYNC
events[].resource_typestring任务来源类型:observation / skill / profile
events[].resource_idstring任务来源 ID,project 或 profile 相应 ID
events[].memory_library_idstring任务对应的记忆库 ID
events[].user_idstring任务对应的记忆实体 ID
events[].statusstring任务状态:PENDING / SUCCEEDED / FAILED / UNRECORDED
events[].created_atinteger任务创建时间戳
events[].updated_atinteger任务状态最后更新时间戳

代码示例

调用时请将 {workspaceId} 替换为真实的业务空间 ID。
cURL
curl -X POST https://{workspaceId}.cn-beijing.maas.aliyuncs.com/api/v2/apps/memory/add-async \
  --header "Authorization: Bearer $DASHSCOPE_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
    "messages": [
      {"role": "user", "content": "每天上午11点提醒我点外卖,明天提醒我穿衣服。"},
      {"role": "assistant", "content": "没问题"},
      {"role": "assistant", "content": "", "tool_calls": [
        {"id": "call_1", "type": "function", "function": {"name": "update_memory", "arguments": "{\"text\":\"明天穿衣服\"}"}}
      ]},
      {"role": "tool", "tool_call_id": "call_1", "content": "{\"ok\":true}"}
    ],
    "project_ids": ["project_001"],
    "user_id": "user_001"
  }'

# response
{
  "event_id": "9d30e77a...",
  "events": [
    {
      "event_id": "9d30e77a...",
      "event_type": "ADD_ASYNC",
      "resource_type": "observation",
      "resource_id": "project_001",
      "status": "PENDING",
      "created_at": 1784638015,
      "updated_at": 1784638015,
      "user_id": "user_001"
    }
  ],
  "request_id": "048983ff-ed50-..."
}
返回的 status 为 PENDING 表示后台仍在提取,使用 GetEvent 查询执行结果。

Authorizations

string
header
required

Body

application/json
string
required

记忆实体 ID,最大 64 字符

object[]

对话消息列表,最多 50 条。与 custom_content 互斥

string

自定义内容,最大 512 字符。与 messages 互斥,只能绑定到一个 project_id

string

画像模板 ID。不传则不提取用户画像

string

记忆库 ID,不传则使用默认记忆库

string

自定义项目 ID,与 project_ids 互斥

string[]

多个自定义项目 ID,与 project_id 互斥

string

skill 内容名称。project 为 skill 且传入 custom_content 时必传

string

skill 内容描述。project 为 skill 且传入 custom_content 时必传

string[]

skill 内容标签。project 为 skill 且传入 custom_content 时必传

object

用户自定义信息

Response

200-application/json
string
string

执行任务事件 ID

object[]