接口定义
本接口
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 jsonfrom tdaimemory import MemoryClient# 17. Search recordssearch_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。 | |
actor_id | 否 | 指定搜索 Record 用户的唯一标识 ID。 | 数据类型:String 长度限制:[1,20] 字符规则:任意字符 |
session_id | 是 | 指定搜索 Record 的 Session ID。 | |
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的记录。
|
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 数量。 |