接口定义
本接口
query_events()
用于查询会话中的事件。def query_events(memory_id: str | None = None,actor_id: str | None = None,session_id: str | None = None,where: Dict[str, Any] | None = None,order_by: Dict[str, int] | None = None,limit: int | None = None,offset: int | None = None) -> Dict[str, Any]
使用示例
import jsonfrom tdaimemory import MemoryClientevents = client.query_events(session_id="session-hV1W****",# where={"type": "message"},order_by={"created_at": -1},limit=20,offset=0)print(json.dumps(events, ensure_ascii=False))
请求参数
参数 | 是否必选 | 参数含义 | 配置方法及要求 |
memory_id | 否 | 指定查询会话(Session)所关联的 Memory ID。 | |
actor_id | 否 | 指定查询会话(Session)中所属用户的唯一标识 ID。 | 数据类型:String 长度限制:[1,20] 字符规则:任意字符 |
session_id | 是 | 指定查询事件的 Session ID。 | |
where | 否 | where 指定查询条件,返回完全符合这些规则的事件。 | 设置规则为:以键值对的形式,定义事件消息体中字段的匹配规则。 支持使用的操作符。 比较操作符:$eq(等于,默认可省略)、$ne(不等于)、$gt(大于)、$gte(大于等于)、$lt(小于)、$lte(小于等于)。 集合操作符:$in(包含在数组中)、$nin(不包含在数组中) 如下表示查找 status 字段等于 "ACTIVE" 且 score 字段大于等于80的记录。
|
order_by | 否 | 指定返回的 Event 的排序方式。 | 支持如下两种方式。 -1:降序。默认按照 Event 的创建时间降序排列。 1:升序。 |
limit | 否 | 指定返回的事件数量。 | 数据类型:int,正整数。 取值范围:1~100。 默认值:10。 |
offset | 否 | 指定返回结果列表的起始偏移量。 | 数据类型:int,正整数。 默认值:0,表示从数据集的第一条记录开始返回。 示例:offset=20 表示跳过前20条记录,从第21条开始返回。 |
响应消息
执行成功,输出如下信息。
>>> print(json.dumps(events, ensure_ascii=False, indent=6)){"events": [{"chat": [{"content": "嗨,帮我规划一个下周去杭州的3天行程。","role": "user"},{"content": "好的,已为您推荐杭州三日行程。第一天,我们聚焦西湖经典。清晨从断桥残雪出发,漫步白堤,感受水墨画般的湖光山色。随后乘船登岛探访三潭印月,下午登雷峰塔俯瞰全景,傍晚在曲院风荷赏夕阳,晚上则去河坊街夜市品尝地道小吃。\\n\\n第三天,探索湿地与运河文化。上午在西溪湿地乘坐摇橹船,听船娘小调,感受水乡慢生活;下午逛一逛桥西历史街区和文艺的小河直街,参观工艺美术博物馆,在咖啡馆小憩后即可轻松结束旅程,准备返程。\\n\\n第二天,体验禅意与宋韵。上午前往灵隐寺景区祈福,在法喜寺的黄墙拍照打卡;下午沉浸于宋城,体验AR剧本杀并观看《宋城千古情》演出;如果傍晚还有精力,可以去九溪烟树享受清凉的溪水。","role": "assistant"},{"content": "我喜欢人少、安静的地方,对美食特别感兴趣。","role": "user"},{"content": "基于您喜欢安静和美食的偏好,我为您优化了行程,避开了团队游客扎堆的景点,专注于幽静的体验和地道的风味。\\n\\n第一天:避世西湖\\n清晨漫步杨公堤与茅家埠,享受静谧湖景。午餐在老字号「奎元馆」吃虾爆鳝面。下午乘船访三潭印月,傍晚在湖边茶社小坐。晚餐去本地人爱的胜利河美食街尝地道风味。\\n\\n第二天:禅意之路\\n一早探灵隐寺,然后沿幽静天竺路步行至法喜寺。午餐在「知竹」吃素面。下午深入云栖竹径看竹海。晚餐用「新丰小吃」的喉口馒头等市井味道收尾。\\n\\n第三天:水乡慢生活\\n全天在西溪湿地坐摇橹船,深入芦苇荡享受宁静。午后往文艺的小河直街,在运河畔的咖啡馆小坐休憩,结束旅程。","role": "assistant"},{"content": "太好了,酒店要带健身房,另外我对花生严重过敏,预订餐厅时请务必注意。","role": "user"},{"content": "好的,已完全了解您的需求(偏好安静人少、喜爱美食、酒店需带健身房、对花生严重过敏)。为您精选的酒店(带健身房):\\n\\n西湖庐驿精品酒店:位于西湖区,设计静谧,配备健身房,且远离闹市,符合您对安静的需求。\\n\\n杭州西溪紫金港希尔顿逸林酒店:靠近西溪湿地,设施完善,健身房专业,适合在第三天安排湿地行程时入住。","role": "assistant"},{"content": "完美!哦对了,我女朋友更喜欢现代艺术,有什么地方可以推荐吗?","role": "user"},{"content": "收到!考虑到您女朋友的喜好。这是为您和您女友定制的杭州三日行程:\\n\\n第一天:上午游茅家埠、杨公堤;下午观天目里美术馆现代展览。晚餐于胜利河美食街 品尝安全地道的本帮菜。\\n\\n第二天:上午早访灵隐寺,漫步幽静天竺路。下午重点参观 浙江省博物馆之江馆 重磅国际艺术大展。晚餐体验本地 新丰小吃(已规避风险)。\\n\\n第三天:上午于 西溪湿地乘摇橹船。下午在小河直街 咖啡馆悠闲小憩,结束旅程。","role": "assistant"}],"created_at": 1757412422,"event_id": "event-EuY_****","updated_at": 1757412422}],"total_count": 1}
参数名(一级) | 参数名(二级) | 参数含义 |
events | event_id | 返回满足条件的事件 ID。 |
| messages | 返回事件的消息对象。 |
| created_at | 事件创建时间。 |
total_count | - | 符合条件的事件总数。 |