方法介绍
search_conversation 用于对 L0 原始对话消息执行语义检索。功能说明如下:检索方式:基于
query 文本进行智能检索,结合语义理解与关键词匹配,返回带相关性评分(score)的消息列表,结果按 score 降序排列,值越高表示与查询文本的相关性越强。过滤条件:支持按会话(
session_id)过滤以缩小检索范围。time_start / time_end 参数当前可传入但检索时暂未生效,传时间范围不会影响检索结果。返回数量:单次最多返回 100 条结果,默认返回 5 条。
导入
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.search_conversation(query="上周会议纪要",limit=5,session_id="agent-main:sess-001",)for msg in result["messages"]:print(f"[score={msg['score']:.2f}] [{msg['role']}] {msg['content']}")
请求参数
参数名 | 类型 | 必填 | 描述说明 |
query | str | 是 | 检索关键词或短语,长度 1–4096 字符 |
limit | int | 否 | 返回的最大命中条数,范围 1–100,默认 5 |
session_id | str | 否 | 覆盖默认 session_id 以限定检索范围 |
time_start | str | 否 | 检索起始时间(暂未生效),ISO 8601 格式,当前可传入但检索时暂未使用 |
time_end | str | 否 | 检索截止时间(暂未生效),ISO 8601 格式,当前可传入但检索时暂未使用 |
响应示例
{"messages": [{"id": "msg-bbbb","version": "v1","role": "assistant","content": "好的,根据记忆,上周你参加了...","timestamp": "2026-07-22T10:30:02Z","score": 0.95},{"id": "msg-aaaa","version": "v1","role": "user","content": "帮我查一下上周的会议纪要","timestamp": "2026-07-22T10:30:00Z","score": 0.92}]}
Running Environment
Operating System: Ubuntu 24.04.3 LTS / x86_64
Runtime Version: Python 3.11.1
响应参数说明
参数名 | 类型 | 参数含义 |
messages | List[Dict] | 检索命中消息列表,按 score 降序 |
messages[].id | str | 消息唯一 ID |
messages[].version | str | 消息当前版本号 |
messages[].role | str | 消息角色 |
messages[].content | str | 消息内容 |
messages[].timestamp | str | 消息时间戳,ISO 8601 格式 |
messages[].score | float | 语义相关度评分,0–1,值越高越相关 |
错误码
错误码 | 触发场景 | 处理建议 |
400 | query 为空或超过 4096 字符 | 检查 query 长度 |
401 | API Key 无效或过期 | 检查 api_key 配置 |
422 | 构造参数缺失 | 确保构造时传入必填归属参数 |