帮你快速理解、总结文档立即下载

search

最近更新时间:2026-08-27 17:42:02
我的收藏

方法介绍

search 用于按查询文本搜索匹配的 Skill。功能说明如下:
搜索模式:支持关键词(bm25)、语义向量(embedding)和混合搜索(hybrid)三种模式,默认为混合模式。
结果排序:返回带相关性评分(score)的 Skill 列表,结果按 score 降序排列,值越高表示与查询文本的相关性越强。
搜索范围:默认在当前 Agent 作用域内搜索,传入 scope="team" 可跨当前团队下全部 Agent 搜索。
返回数量:通过 top_k 控制返回结果数量上限。

导入

from tencentdb_agent_memory.v3 import SkillClient

方法签名

def search(
self,
query: str,
*,
top_k: Optional[int] = None,
mode: Optional[str] = None,
scope: Optional[str] = None,
team_id: Optional[str] = None,
agent_id: Optional[str] = None,
user_id: Optional[str] = None,
task_id: Optional[str] = None,
) -> Dict[str, Any]

使用示例

from tencentdb_agent_memory.v3 import SkillClient

with SkillClient(
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(
query="Python type hints usage", # 必填,搜索查询文本
top_k=10, # 可选,返回结果数量上限
mode="hybrid", # 可选,搜索模式:bm25/embedding/hybrid
)
for hit in result["items"]:
print(f"[{hit['score']:.2f}] {hit['name']}")

请求参数

参数名
类型
必填
描述说明
query
str
搜索查询文本
top_k
int
返回结果数量上限
mode
str
搜索模式:bm25(关键词)、embedding(语义)或 hybrid(混合)
scope
str
搜索范围,传 "team" 时跨当前团队下全部 Agent 搜索
team_id
str
团队 ID,覆盖构造时的默认值
agent_id
str
Agent ID,覆盖构造时的默认值
user_id
str
用户 ID,覆盖构造时的默认值
task_id
str
Task ID,覆盖构造时的默认值

响应示例

{
"items": [
{
"skill_id": "skill-abc123",
"name": "python-tips",
"score": 0.95,
"content": "---\\nname: python-tips\\n...",
"version": 3
}
]
}

Running Environment

Operating System: Ubuntu 24.04.3 LTS / x86_64

Runtime Version: Python 3.11.1

响应参数说明

参数名
类型
参数含义
items
List[Dict]
匹配结果列表,按相关性得分降序排列
items[].skill_id
str
Skill ID
items[].name
str
Skill 名称
items[].score
float
相关性得分
items[].content
str
Skill 内容
items[].version
int
当前版本号

错误码

错误码
触发场景
处理建议
400
query 为空
检查 query 参数
401
API Key 无效或过期
检查 api_key 配置
422
构造参数缺失
确保构造时传入必填参数
500
服务内部错误
可有限重试