搜索 Record

最近更新时间:2025-09-12 21:41:52

我的收藏

接口定义

本接口search_records()用于根据关键词语义与策略类型检索相关的长期记忆,并给出相关性得分。
def search_records(
content: str,
memory_id: str | None = None,
actor_id: str | None = None,
session_id: str | None = None,
strategies: List[str] | None = None,
where: Dict[str, Any] | None = None,
order_by: Dict[str, int] | None = None,
limit: int | None = None
) -> Dict[str, Any]


使用示例

import json
from tdaimemory import MemoryClient

# 17. Search records
search_records = client.search_records(
content="美食维度",
session_id="session-Y5oi****",
strategies=["旅游关注维度"],
# where={"category": "docs"},
order_by={"created_at": -1},
limit=10
)
print(json.dumps(search_records, ensure_ascii=False))

请求参数

参数
是否必选
参数含义
配置方法及要求
memory_id
指定搜索 Record 所关联的 Memory ID。
登录 Memory 智能体控制台,可在 Memory 服务概览页面复制 Memory ID。具体可以参见 查看 Memory
actor_id
指定搜索 Record 用户的唯一标识 ID。
数据类型:String
长度限制:[1,20]
字符规则:任意字符
session_id
指定搜索 Record 的 Session ID。
获取会话 ID,请参见 查询 Session
content
指定搜索的关键词,用于匹配记录内容。
字符串类型,例如:用户偏好。
strategy
指定 Record 策略类型。
数据类型为 String 数组。默认支持如下策略,可自定义其他策略:
Persona_Profile:人物画像。
Task_Information:任务信息。
Factual_Experience:事实经验。
where
where 指定查询条件,返回完全符合这些规则的事件。
说明:
当前仅支持使用 record_id、created_at、updated_at 字段设置查询条件。
设置规则为:以键值对的形式,定义事件消息体中字段的匹配规则。
支持使用的操作符。
比较操作符:$eq(等于,默认可省略)、$ne(不等于)、$gt(大于)、$gte(大于等于)、$lt(小于)、$lte(小于等于)。
集合操作符:$in(包含在数组中)、$nin(不包含在数组中)
如下表示查找 status 字段等于 "ACTIVE" 且 score 字段大于等于80的记录。
{
"where": {
"status": "ACTIVE",
"score": { "$gte": 80 }
}
}
order_by
指定返回的 Record 的排序方式。
支持如下两种方式。
-1:降序。默认按照 Record 的创建时间降序排列。
1:升序。
limit
指定返回的 Record 数量。
数据类型:int,正整数。
取值范围:1~100。
默认值:10。
offset
指定返回结果列表的起始偏移量。
数据类型:int,正整数。
取值范围:[0,∞]。
默认值:0,表示从数据集的第一条记录开始返回。
示例:offset=20表示跳过前20条记录,从第21条开始返回。

响应消息

执行成功,输出如下信息。
>>> print(json.dumps(search_records, ensure_ascii=False))
{
"records": [
{
"created_at": 1757414225,
"event_ids": "[]",
"record_content": "美食维度为地道风味。",
"record_id": "record-Un4a****",
"score": 0.7984535,
"strategy_name": "旅游关注维度",
"updated_at": 1757414225
},
{
"created_at": 1757412738,
"event_ids": "[\\"event-EuY_****\\"]",
"record_content": "在旅游方面,[++]对美食特别感兴趣",
"record_id": "record-vaWf****",
"score": 0.5307081,
"strategy_name": "旅游关注维度",
"updated_at": 1757412738
},
{
"created_at": 1757412743,
"event_ids": "[\\"event-EuY_****\\"]",
"record_content": "在旅游方面,对花生严重过敏",
"record_id": "record-CaH****",
"score": 0.40438196,
"strategy_name": "旅游关注维度",
"updated_at": 1757412743
},
{
"created_at": 1757412740,
"event_ids": "[\\"event-EuY_****\\"]",
"record_content": "在旅游方面,[++]酒店要带健身房",
"record_id": "record-cQyh****",
"score": 0.3934074,
"strategy_name": "旅游关注维度",
"updated_at": 1757412740
},
{
"created_at": 1757412746,
"event_ids": "[\\"event-EuY_****\\"]",
"record_content": "女朋友更喜欢现代艺术",
"record_id": "record-Wet-****",
"score": 0.38902017,
"strategy_name": "旅游关注维度",
"updated_at": 1757412746
}
],
"total_count": 5
}
```
参数
子参数
参数含义
records
record_id
长期记忆 ID,唯一标识该记录的标识符。
record_content
记录内容,描述 Record 记忆的实际信息。
strategy_name
生成该记录的策略名称,
created_at
Record 创建时间。
updated_at
Record 最后一次更新时间。
score
相关性得分。
event_ids
事件 ID。
total_count
-
符合查询条件的总 Record 数量。