检索用户记忆并渲染画像

使用 AI Studio SDK 以已知主体 ID 检索记忆,并为同一主体渲染画像。主体由调用方的业务系统确定,不一定等同于登录用户。

任务流程

  1. 使用业务系统提供的主体 ID 绑定记忆对象。

  2. 提交非空检索内容,读取该主体的记忆列表。

  3. 需要画像时,对同一主体提交渲染请求并读取返回文本。

准备

需要的内容

在本页中的作用

已绑定目标工作区的客户端上下文

确定记忆和画像操作的工作区。

业务系统提供的主体 ID

固定检索和画像的主体范围。

非空检索内容

在该主体范围内查找记忆。

记忆和画像内容可能包含业务或个人数据。只查询当前业务场景允许访问的主体,避免将结果写入不受控日志。

检索记忆

返回列表是当前检索结果,不表示画像已更新或记忆已写入。

memory, err := workspace.ConsumerMemory(subjectID)
if err != nil {
	return err
}

result, err := memory.Retrieve(ctx, query)
if err != nil {
	return err
}

_ = result
memory = workspace.consumer_memory(subject_id)
result = memory.retrieve(query)

读取结果中的记忆条目,并按调用方的业务规则处理。空检索内容会在 SDK 侧被拒绝。

使用关键词或条件筛选

关键词检索要求非空关键词,结果数量可设为 0 到 100。结构化查询可设置 0 到 500 条的返回上限。两类查询都可按会话、记忆类型、信任等级、分支和额外元数据筛选。

额外元数据只接受扁平过滤结构;嵌套对象或不合法的键会在请求前被 SDK 拒绝。筛选条件不替代访问控制。

渲染画像

画像渲染继续使用同一主体。请求返回的是当前渲染结果,不表示记忆内容已经改变。

profile, err := memory.RenderProfile(ctx)
if err != nil {
	return err
}

_ = profile
profile = memory.render_profile()

渲染响应包含当前主体的画像文本和令牌估算。如需最新结果,应在合适的业务时机重新查询或重新渲染。

限制

检索和画像渲染都是读取操作。不要把一次检索或渲染请求写成记忆已经写入、更新或持久化的证明。

最后更新于