查询用户记忆内容
更新时间:2025-02-19
功能介绍
本接口用于查询用户记忆内容,支持查询单个用户所有的记忆内容或单条记忆内容:
- 查询单个用户所有的记忆内容,即根据用户人设标识userMemoryId和应用appId查询对应的用户所有的记忆内容。
- 查询单个用户的单条记忆内容,即根据用户人设标识userMemoryId、应用appId和单条记忆内容id,查询对应单条用户记忆内容。
使用说明
本文API支持通过Python SDK、Go SDK、Java SDK 和 Node.js SDK调用,调用流程请参考SDK安装及使用流程。
SDK调用
调用示例
- 查询单个用户所有的记忆内容
import os
from qianfan import resources
# 通过环境变量初始化认证信息
# 使用安全认证AK/SK调用,替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk,如何获取请查看https://cloud.baidu.com/doc/Reference/s/9jwvz2egb
os.environ["QIANFAN_ACCESS_KEY"] = "your_iam_ak"
os.environ["QIANFAN_SECRET_KEY"] = "your_iam_sk"
resp = resources.console.utils.call_action(
# 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求结构-请求地址的后缀
"/v2/memory",
# 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求参数-Query参数的Action
"DescribeUserMemory",
# 请查看本文请求参数说明,根据实际使用选择参数;对应API调用文档-请求参数-Body参数
{
"appId": "48xxx17",
"userMemoryId":"um-j4gnxxxxxv4ii" # 替换需查询记忆的用户的唯一userMemoryId
}
)
print(resp.body)
package main
import (
"context"
"fmt"
"os"
"github.com/baidubce/bce-qianfan-sdk/go/qianfan"
)
func main() {
// 使用安全认证AK/SK鉴权,通过环境变量初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
os.Setenv("QIANFAN_ACCESS_KEY", "your_iam_ak")
os.Setenv("QIANFAN_SECRET_KEY", "your_iam_sk")
ca := qianfan.NewConsoleAction()
res, err := ca.Call(context.TODO(),
// 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求结构-请求地址的后缀
"/v2/memory",
// 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求参数-Query参数的Action
"DescribeUserMemory",
// 请查看本文请求参数说明,根据实际使用选择参数;对应API调用文档-请求参数-Body参数
map[string]interface{}{
"appId": "48xxx17",
"userMemoryId":"um-j4gnxxxxxv4ii", # 替换需查询记忆的用户的唯一userMemoryId
})
if err != nil {
panic(err)
}
fmt.Println(string(res.Body))
}
import com.baidubce.qianfan.Qianfan;
import com.baidubce.qianfan.model.console.ConsoleResponse;
import com.baidubce.qianfan.util.CollUtils;
import com.baidubce.qianfan.util.Json;
import java.util.Map;
public class Dome {
public static void main(String args[]){
// 使用安全认证AK/SK鉴权,替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
Qianfan qianfan = new Qianfan("your_iam_ak", "your_iam_sk");
ConsoleResponse<String> response = qianfan.console()
// 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求结构-请求地址的后缀
.route("/v2/memory")
// 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求参数-Query参数的Action
.action("DescribeUserMemory")
// 需要传入参数的场景,可以自行封装请求类,或者使用Map.of()来构建请求Body
// Java 8可以使用SDK提供的CollUtils.mapOf()来替代Map.of()
// 请查看本文请求参数说明,根据实际使用选择参数;对应API调用文档-请求参数-Body参数
.body(CollUtils.mapOf(
"appId", "48xxx17",
"userMemoryId","um-j4gnxxxxxv4ii" # 替换需查询记忆的用户的唯一userMemoryId
))
.execute(String.class);
System.out.println(response.getResult());
}
}
import {consoleAction, setEnvVariable} from "@baiducloud/qianfan";
// 使用安全认证AK/SK鉴权,通过环境变量初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
setEnvVariable('QIANFAN_ACCESS_KEY','your_iam_ak');
setEnvVariable('QIANFAN_SECRET_KEY','your_iam_sk');
async function main() {
//base_api_route:调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求结构-请求地址的后缀
//action:调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求参数-Query参数的Action
//data:请查看本文请求参数说明,根据实际使用选择参数;对应API调用文档-请求参数-Body参数
const res = await consoleAction({base_api_route: '/v2/memory', action: 'DescribeUserMemory', data: {
"appId": "48xxx17",
"userMemoryId":"um-j4gnxxxxxv4ii" # 替换需查询记忆的用户的唯一userMemoryId
}
});
console.log(res);
}
main();
- 查询单个用户的单条记忆内容
import os
from qianfan import resources
# 通过环境变量初始化认证信息
# 使用安全认证AK/SK调用,替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk,如何获取请查看https://cloud.baidu.com/doc/Reference/s/9jwvz2egb
os.environ["QIANFAN_ACCESS_KEY"] = "your_iam_ak"
os.environ["QIANFAN_SECRET_KEY"] = "your_iam_sk"
resp = resources.console.utils.call_action(
# 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求结构-请求地址的后缀
"/v2/memory",
# 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求参数-Query参数的Action
"DescribeUserMemory",
# 请查看本文请求参数说明,根据实际使用选择参数;对应API调用文档-请求参数-Body参数
{
"appId":"112xxx706",
"userMemoryId": "um-nbb5xxxxxs43", #替换需查询记忆的用户的唯一userMemoryId
"memoryContentId": ["WCtm35QBKRPsy3wO9_px"] # 对应的用户单条记忆内容id,目前单次请求仅支持查询一个内容id
}
)
print(resp.body)
package main
import (
"context"
"fmt"
"os"
"github.com/baidubce/bce-qianfan-sdk/go/qianfan"
)
func main() {
// 使用安全认证AK/SK鉴权,通过环境变量初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
os.Setenv("QIANFAN_ACCESS_KEY", "your_iam_ak")
os.Setenv("QIANFAN_SECRET_KEY", "your_iam_sk")
ca := qianfan.NewConsoleAction()
res, err := ca.Call(context.TODO(),
// 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求结构-请求地址的后缀
"/v2/memory",
// 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求参数-Query参数的Action
"DescribeUserMemory",
// 请查看本文请求参数说明,根据实际使用选择参数;对应API调用文档-请求参数-Body参数
map[string]interface{}{
"appId":"112xxx706",
"userMemoryId": "um-nbb5xxxxxs43", #替换需查询记忆的用户的唯一userMemoryId
"memoryContentId": ["WCtm35QBKRPsy3wO9_px"], # 对应的用户单条记忆内容id,目前单次请求仅支持查询一个内容id
})
if err != nil {
panic(err)
}
fmt.Println(string(res.Body))
}
import com.baidubce.qianfan.Qianfan;
import com.baidubce.qianfan.model.console.ConsoleResponse;
import com.baidubce.qianfan.util.CollUtils;
import com.baidubce.qianfan.util.Json;
import java.util.Map;
public class Dome {
public static void main(String args[]){
// 使用安全认证AK/SK鉴权,替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
Qianfan qianfan = new Qianfan("your_iam_ak", "your_iam_sk");
ConsoleResponse<String> response = qianfan.console()
// 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求结构-请求地址的后缀
.route("/v2/memory")
// 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求参数-Query参数的Action
.action("DescribeUserMemory")
// 需要传入参数的场景,可以自行封装请求类,或者使用Map.of()来构建请求Body
// Java 8可以使用SDK提供的CollUtils.mapOf()来替代Map.of()
// 请查看本文请求参数说明,根据实际使用选择参数;对应API调用文档-请求参数-Body参数
.body(CollUtils.mapOf(
"appId","112xxx706",
"userMemoryId", "um-nbb5xxxxxs43", #替换需查询记忆的用户的唯一userMemoryId
"memoryContentId", ["WCtm35QBKRPsy3wO9_px"] # 对应的用户单条记忆内容id,目前单次请求仅支持查询一个内容id
))
.execute(String.class);
System.out.println(response.getResult());
}
}
import {consoleAction, setEnvVariable} from "@baiducloud/qianfan";
// 使用安全认证AK/SK鉴权,通过环境变量初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
setEnvVariable('QIANFAN_ACCESS_KEY','your_iam_ak');
setEnvVariable('QIANFAN_SECRET_KEY','your_iam_sk');
async function main() {
//base_api_route:调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求结构-请求地址的后缀
//action:调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求参数-Query参数的Action
//data:请查看本文请求参数说明,根据实际使用选择参数;对应API调用文档-请求参数-Body参数
const res = await consoleAction({base_api_route: '/v2/memory', action: 'DescribeUserMemory', data: {
"appId":"112xxx706",
"userMemoryId": "um-nbb5xxxxxs43", #替换需查询记忆的用户的唯一userMemoryId
"memoryContentId": ["WCtm35QBKRPsy3wO9_px"] # 对应的用户单条记忆内容id,目前单次请求仅支持查询一个内容id
}
});
console.log(res);
}
main();
返回示例
- 查询单个用户所有的记忆内容
{
"requestId": "616142e9-fdac-4c49-8d91-b1da7c187370",
"result": {
"appId": "11xxxx06",
"userMemoryId": "um-j4gnxxxxxxv4ii",
"description": "用户A是一名女性,今年25岁,北京人。她最常点茉莉绿茶和珍珠奶茶,热衷尝试新品。",
"memories": [
[
{
"memoryContentId": "jNyxRZQB38Wmv6Rt4QHZ",
"role": "user",
"content": "你好,我叫小A,我的口味偏清淡,喜欢喝绿茶,很注重饮食健康。",
"type": "profile"
},
{
"memoryContentId": "jNyxRZQB38Wmv6Rt4QHZ",
"role": "system",
"content": "好的小A,我推荐你下单茉莉绿茶或抹茶牛奶,这两种饮品都很健康,且符合你的口味。",
"type": "profile"
}
],
[
{
"memoryContentId": "i9yxRZQB38Wmv6Rt4QHZ",
"role": "user",
"content": "记住我的点单偏好:不另外加糖、少冰、不加小料。",
"type": "profile"
},
{
"memoryContentId": "i9yxRZQB38Wmv6Rt4QHZ",
"role": "system",
"content": "好的小A,我已经记住了你的偏好。",
"type": "profile"
}
]
]
}
}
{
"requestId": "616142e9-fdac-4c49-8d91-b1da7c187370",
"result": {
"appId": "11xxxx06",
"userMemoryId": "um-j4gnxxxxxxv4ii",
"description": "用户A是一名女性,今年25岁,北京人。她最常点茉莉绿茶和珍珠奶茶,热衷尝试新品。",
"memories": [
[
{
"memoryContentId": "jNyxRZQB38Wmv6Rt4QHZ",
"role": "user",
"content": "你好,我叫小A,我的口味偏清淡,喜欢喝绿茶,很注重饮食健康。",
"type": "profile"
},
{
"memoryContentId": "jNyxRZQB38Wmv6Rt4QHZ",
"role": "system",
"content": "好的小A,我推荐你下单茉莉绿茶或抹茶牛奶,这两种饮品都很健康,且符合你的口味。",
"type": "profile"
}
],
[
{
"memoryContentId": "i9yxRZQB38Wmv6Rt4QHZ",
"role": "user",
"content": "记住我的点单偏好:不另外加糖、少冰、不加小料。",
"type": "profile"
},
{
"memoryContentId": "i9yxRZQB38Wmv6Rt4QHZ",
"role": "system",
"content": "好的小A,我已经记住了你的偏好。",
"type": "profile"
}
]
]
}
}
{
"requestId": "616142e9-fdac-4c49-8d91-b1da7c187370",
"result": {
"appId": "11xxxx06",
"userMemoryId": "um-j4gnxxxxxxv4ii",
"description": "用户A是一名女性,今年25岁,北京人。她最常点茉莉绿茶和珍珠奶茶,热衷尝试新品。",
"memories": [
[
{
"memoryContentId": "jNyxRZQB38Wmv6Rt4QHZ",
"role": "user",
"content": "你好,我叫小A,我的口味偏清淡,喜欢喝绿茶,很注重饮食健康。",
"type": "profile"
},
{
"memoryContentId": "jNyxRZQB38Wmv6Rt4QHZ",
"role": "system",
"content": "好的小A,我推荐你下单茉莉绿茶或抹茶牛奶,这两种饮品都很健康,且符合你的口味。",
"type": "profile"
}
],
[
{
"memoryContentId": "i9yxRZQB38Wmv6Rt4QHZ",
"role": "user",
"content": "记住我的点单偏好:不另外加糖、少冰、不加小料。",
"type": "profile"
},
{
"memoryContentId": "i9yxRZQB38Wmv6Rt4QHZ",
"role": "system",
"content": "好的小A,我已经记住了你的偏好。",
"type": "profile"
}
]
]
}
}
{
requestId: '616142e9-fdac-4c49-8d91-b1da7c187370',
result: {
appId: '11xxxx06',
userMemoryId: 'um-j4gnxxxxxxv4ii',
description: '用户A是一名女性,今年25岁,北京人。她最常点茉莉绿茶和珍珠奶茶,热衷尝试新品。',
memories: [
[
{
memoryContentId: 'jNyxRZQB38Wmv6Rt4QHZ',
role: 'user',
content: '你好,我叫小A,我的口味偏清淡,喜欢喝绿茶,很注重饮食健康。',
type: 'profile'
},
{
memoryContentId: 'jNyxRZQB38Wmv6Rt4QHZ',
role: 'system',
content: '好的小A,我推荐你下单茉莉绿茶或抹茶牛奶,这两种饮品都很健康,且符合你的口味。',
type: 'profile'
}
],
[
{
memoryContentId: 'i9yxRZQB38Wmv6Rt4QHZ',
role: 'user',
content: '记住我的点单偏好:不另外加糖、少冰、不加小料。',
type: 'profile'
},
{
memoryContentId: 'i9yxRZQB38Wmv6Rt4QHZ',
role: 'system',
content: '好的小A,我已经记住了你的偏好。',
type: 'profile'
}
]
]
}
}
- 查询单个用户的单条记忆内容
{
"requestId": "6d0fd2c9-22d3-4cb0-a134-c5ad273bc346",
"result": {
"appId": "112xxx706",
"userMemoryId": "um-nbbxxxxxs43",
"description": "用户A是一名女性,今年25岁,北京人。她最常点茉莉绿茶和珍珠奶茶,热衷尝试新品",
"memories": [
[
{
"memoryContentId": "WCtm35QBKRPsy3wO9_px",
"role": "user",
"content": "记住我的点单偏好:不另外加糖、少冰、加很多小料。",
"type": "profile"
},
{
"memoryContentId": "WCtm35QBKRPsy3wO9_px",
"role": "system",
"content": "好的小A,我已经记住了你的偏好。",
"type": "profile"
}
]
]
}
}
{
"requestId": "6d0fd2c9-22d3-4cb0-a134-c5ad273bc346",
"result": {
"appId": "112xxx706",
"userMemoryId": "um-nbbxxxxxs43",
"description": "用户A是一名女性,今年25岁,北京人。她最常点茉莉绿茶和珍珠奶茶,热衷尝试新品",
"memories": [
[
{
"memoryContentId": "WCtm35QBKRPsy3wO9_px",
"role": "user",
"content": "记住我的点单偏好:不另外加糖、少冰、加很多小料。",
"type": "profile"
},
{
"memoryContentId": "WCtm35QBKRPsy3wO9_px",
"role": "system",
"content": "好的小A,我已经记住了你的偏好。",
"type": "profile"
}
]
]
}
}
{
"requestId": "6d0fd2c9-22d3-4cb0-a134-c5ad273bc346",
"result": {
"appId": "112xxx706",
"userMemoryId": "um-nbbxxxxxs43",
"description": "用户A是一名女性,今年25岁,北京人。她最常点茉莉绿茶和珍珠奶茶,热衷尝试新品",
"memories": [
[
{
"memoryContentId": "WCtm35QBKRPsy3wO9_px",
"role": "user",
"content": "记住我的点单偏好:不另外加糖、少冰、加很多小料。",
"type": "profile"
},
{
"memoryContentId": "WCtm35QBKRPsy3wO9_px",
"role": "system",
"content": "好的小A,我已经记住了你的偏好。",
"type": "profile"
}
]
]
}
}
{
requestId: '6d0fd2c9-22d3-4cb0-a134-c5ad273bc346',
result: {
appId: '112xxx706',
userMemoryId: 'um-nbbxxxxxs43',
description: '用户A是一名女性,今年25岁,北京人。她最常点茉莉绿茶和珍珠奶茶,热衷尝试新品',
memories: [
[
{
memoryContentId: 'WCtm35QBKRPsy3wO9_px',
role: 'user',
content: '记住我的点单偏好:不另外加糖、少冰、加很多小料。',
type: 'profile'
},
{
memoryContentId: 'WCtm35QBKRPsy3wO9_px',
role: 'system',
content: '好的小A,我已经记住了你的偏好。',
type: 'profile'
}
]
]
}
}
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
appId | string | 是 | 千帆应用AppId,说明: (1)在控制台-系统管理与统计-应用接入页面查看,如下图所示: ![]() (2)如果应用列表无应用,请先创建应用,请查看创建应用操作步骤 |
userMemoryId | string | 是 | 用户人设标识,对应传入模型的uid |
marker | string | 否 | 本次查询的起始位置,如果不传,默认为0 |
maxKeys | int | 否 | 返回的列表长度,如果不传,默认为100 |
memoryContentId | []string | 否 | 用户的单条记忆内容id,说明:如果使用此参数,目前单次请求仅支持查询一个内容id |
返回参数
名称 | 类型 | 描述 |
---|---|---|
requestId | string | 请求ID |
code | string | 错误码,错误时返回 |
message | string | 错误信息,请求失败时返回 |
result | object | 请求结果,请求成功时返回 |
result说明
名称 | 类型 | 描述 |
---|---|---|
appId | string | 千帆应用AppId |
userMemoryId | string | 用户人设标识id |
description | string | 用户人设描述 |
memories | list[][object] | 用户记忆内容列表 |
memories说明
名称 | 类型 | 描述 |
---|---|---|
role | string | 角色类型,说明: · user:用户 · system:系统 |
content | string | 文本内容 |
memoryContentId | string[] | 说明: · 用户户人设标识id下的单条记忆内容id · 单条记忆内容中包含user和system的一个问答对,问与答共享一个id · 目前单次请求仅支持传入一个内容id |
type | string | 说明: · explicit: 显式记忆 · implicit: 隐式记忆 · profile: 用户画像记忆 |