方法介绍
query_conversation 用于按过滤条件分页查询 L0 原始对话消息。功能说明如下:过滤条件:支持按会话(
session_id)和时间范围(time_start / time_end)过滤,筛选参数均为可选。默认行为:筛选参数均不传时,等价于不加筛选,仅按分页参数返回当前作用域下的消息。
说明:
如需跨所有 session 聚合查询,请使用
client.with_isolation(session_id=None).query_conversation(...) 创建新隔离上下文。导入
from tencentdb_agent_memory.v3 import MemoryClient
使用示例
from tencentdb_agent_memory.v3 import MemoryClientwith MemoryClient(endpoint="https://memory.tdai.tencentyun.com",api_key="sk-xxxxxxxxxxxxxxxx",service_id="tdai-mem-xxxxxxxx",team_id="team-abc123",agent_id="agt-xyz789",user_id="usr-456",) as client:result = client.query_conversation(session_id="agent-main:sess-001",limit=20,offset=0,time_start="2026-07-01T00:00:00Z",time_end="2026-07-22T23:59:59Z",)print(f"共 {result['total']} 条消息")for msg in result["messages"]:print(f"[{msg['role']}] {msg['content']}")
请求参数
参数名 | 类型 | 必填 | 描述说明 |
session_id | str | 否 | 覆盖默认 session_id。调用时传 None 不会清除构造值,跨 session 查询请用 with_isolation(session_id=None) |
limit | int | 否 | 单次返回最大条数,范围 1–100,默认 20 |
offset | int | 否 | 分页偏移量,最小值为 0 |
time_start | str | 否 | 查询起始时间,ISO 8601 格式 |
time_end | str | 否 | 查询截止时间,ISO 8601 格式 |
响应示例
{"messages": [{"id": "msg-aaaa","version": "v1","role": "user","content": "帮我查一下上周的会议纪要","timestamp": "2026-07-22T10:30:00Z"},{"id": "msg-bbbb","version": "v1","role": "assistant","content": "好的,根据记忆,上周你参加了...","timestamp": "2026-07-22T10:30:02Z"}],"total": 42}
Running Environment
Operating System: Ubuntu 24.04.3 LTS / x86_64
Runtime Version: Python 3.11.1
响应参数说明
参数名 | 类型 | 参数含义 |
messages | List[Dict] | 消息列表 |
messages[].id | str | 消息唯一 ID |
messages[].version | str | 消息当前版本号 |
messages[].role | str | 消息角色:user 或 assistant |
messages[].content | str | 消息内容 |
messages[].timestamp | str | 消息时间戳,ISO 8601 格式 |
total | int | 满足条件的消息总数 |
错误码
错误码 | 触发场景 | 处理建议 |
401 | API Key 无效或过期 | 检查 api_key 配置 |
422 | 构造参数缺失 | 确保构造时传入必填归属参数 |