ワンクリックで
byted-viking-search-knowledgebase
调用火山引擎Viking知识库的远程API,检索和query相关的知识库数据。使用场景包括:查询知识库内容、获取相关文档数据、检索特定信息等。当需要搜索数据回答用户问题时使用此skill。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
调用火山引擎Viking知识库的远程API,检索和query相关的知识库数据。使用场景包括:查询知识库内容、获取相关文档数据、检索特定信息等。当需要搜索数据回答用户问题时使用此skill。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
ByteHouse 集群诊断,健康检查,慢查询分析和负载分析的工具
ByteHouse 数据质量检查工具。当用户提供集群连接信息、数据库名和表名,需要检查排序键、主键和分区键所使用的列的空值、零值情况,是否存在异常分布,以及排序键、主键的重复情况时,使用此技能。
通过本地 Python CLI 和 OpenAPI 客户端管理、排查火山云手机资源。适用于查询实例和资源、截图、执行命令、查看任务、检查应用、主机和机房容量、标签、DNS、路由,以及操作已授权的测试云手机实例。
简化版数据库工具,适用于火山引擎 RDS 实例以及自建数据库的元数据查询、SQL 执行、nl2sql 等场景。当用户需要查询火山引擎 RDS 实例以及自建数据库表结构、查看数据、执行 SQL 或将自然语言转换为 SQL 时使用此 skill。
火山云通信智能外呼 Skill. 当用户希望「让 AI 机器人帮忙打电话办事」(如订餐厅、催收、回访、问卷) 时调用. 内部依次走话术查询 → 任务创建 → 任务结果查询.
火山云通信话单 / 录音查询 Skill. 用户问「查一下 callId xxx 的话单」「下载 xxx 的录音」时调用. 注意TOP 接口仅支持按 CallId 精确查询, 不支持按 SingleOpenId/手机号/时间区间反查.
| name | byted-viking-search-knowledgebase |
| description | 调用火山引擎Viking知识库的远程API,检索和query相关的知识库数据。使用场景包括:查询知识库内容、获取相关文档数据、检索特定信息等。当需要搜索数据回答用户问题时使用此skill。 |
该 Skill 用于通过 APIG 网关调用火山引擎 Viking 知识库的 API:
/api/knowledge/collection/info:查看知识库详情,获取 collection_name 和 description。仅在路由/连接检查场景使用,不是知识问答的默认入口。/api/knowledge/collection/search_knowledge:语义检索,根据 query 从知识库中获取相关切片,返回切片列表、相关度分数、文档信息等。版本整合说明:byted-viking-search-knowledgebase.tar.gz 曾包含 legacy 根目录 byted-viking-knowledgebase(scripts/search.py、VIKING_KBSVR_*);该目录与仓库中的旧 skill 保持兼容,不作为本 skill 的更新目标。当前统一使用本目录的 APIG 鉴权、DATABASE_VIKING_* 配置和 scripts/viking_search.py。
你接收到的不是用户原话,而是上级 Agent 分配给你的任务描述。这类描述通常具有以下特征,必须在拆分阶段处理掉,不能整段塞进 --query:
直接把任务原文当 query 必然召回失配(向量被多个语义稀释,分数全部偏低)。正确做法是:先拆,再并行检索。
对于"基于知识库回答问题"类需求,默认走 auto 多库并行检索,且 query 必须经过【拆分 + 关键词化】处理。
不要在没有充分理由的情况下走 info → 推理 → search 的两步路由。
只有在以下少数场景才偏离默认策略:
| 场景 | 选择 |
|---|---|
| 知识问答(绝大多数) | auto,按"Query 构造规则"拆分多个独立 query 并行检索 |
任务已指定具体 resource_id 或 name | search |
| 配置中知识库数 ≤ 2 且任务是路由决策 | 可选 info 辅助 |
| 任务意图是"连接检查"/"看看这个库通了没"/"调用下这个知识库"/"列一下我有哪些库" | info |
| 任务描述完全无主题关键词(如"帮我查点东西") | 先 info 列表,再回报上级 Agent 请求澄清 |
经验法则:当你不确定走哪个动作时,默认选
auto。它本身就是为"未知目标 + 有具体语义"设计的。
search / auto 的 --query 是语义检索向量入口。面对上级 Agent 的长任务描述,必须执行三步处理:
逐句通读任务描述,识别其中独立的检索目标。每个分点、每个"和/与/以及/同时"连接的并列项,通常都是一个独立子意图。
示例:上级任务 = "排查网络连接失败的问题,需要:1、常见故障原因分类;2、对应的排查解决步骤;3、从易到难的标准化处理流程" → 识别出 3 个子意图:① 故障原因分类 ② 排查解决步骤 ③ 标准化处理流程
对每个子意图,提炼成由 2~5 个核心关键词 构成的短 query,剔除连接词、修饰语、铺垫语。
形态要求:
示例(接上文):
将拆出的多个 query 分别独立调用 auto,禁止拼接成一个长 query。多次调用应在同一轮内并行发起。
多个 query 之间必须满足:
| 约束 | 说明 | 反例 |
|---|---|---|
| 互相独立 | 每个 query 表达一个完整可检索的子意图 | "故障原因"(太空泛,必须带主题词"网络故障 原因") |
| 无重叠 | 关键词集合之间交集尽量小,不要让多个 query 检索同一片切片 | query₁="网络故障 原因 分类"、query₂="网络故障 原因 类型" ← 重叠过高 |
| 高区分度 | 每个 query 应能命中知识库的不同切片群 | 三个 query 都包含"网络故障 步骤" ← 区分度低 |
| 数量适中 | 通常 2~4 个 query;超过 5 个说明子意图拆得太碎,需合并 | — |
--query如果一次检索的 top 切片明显与意图无关,不要简单放大 --limit 重跑同一个 query——top10 已经是相关度排序的前 10 名,把 limit 提到 20/30 只会拿到更不相关的切片,不会让答案变好。
正确做法按优先级:
resource_id 重新 search,或回到 auto 让多库竞争。只有当一次召回明显被截断(top-N 都高度相关、分数都很高)时,才考虑加大 --limit。
info 用于查看知识库元数据,不是知识问答的入口。调用前必须满足:
resource_id,且该 ID 在 DATABASE_VIKING_COLLECTION 列表内(来自配置或上级已明确指定且属于该列表),或name(来自配置 / 用户原话,且确认为知识库 collection name,不是飞书 Wiki 名)严格禁止:
--name "" 传空值--name。Viking 知识库的 collection_name 一般是英文/拼音/ID,不支持中文;用中文名几乎必然失败。[网络知识库])当作 Viking collection name。飞书 Wiki 是被同步到 Viking 的数据源,与 Viking collection 是两套命名体系,不要混淆。info 兜圈子。直接拆分 + auto 即可。何时该用 info:
| 用户意图 | 是否调用 info |
|---|---|
| 调用下这个知识库" / "看看 XXX 知识库连上了没" | ✅ 是,做连接检查 |
| "我有哪些知识库" / "列一下知识库" | ✅ 是,列出元数据 |
| 任务描述完全无主题(如"帮我查点东西") | ✅ 是,列出后回报上级请求澄清 |
| 基于知识库回答具体问题(绝大多数) | ❌ 否,直接拆分 + auto |
| 配置中知识库数量 ≥ 3 | ❌ 否,auto 的并发筛选比 info 推理更可靠 |
脚本:scripts/viking_search.py
获取指定知识库的 collection_name 和 description,用于连接检查或路由决策。
# 方式一:通过 resource_id 查询(推荐,唯一标识,不会歧义)
python scripts/viking_search.py --action info --resource-id <collection_resource_id>
# 方式二:通过 name + project 查询(name 必须来自配置或上级 Agent 指定,不要猜)
python scripts/viking_search.py --action info --name "XXX" --project "default"
对已确定的知识库执行语义检索。query 必须是经过"Query 构造规则"处理的关键词组合。
# 方式一:通过 resource_id(推荐)
python scripts/viking_search.py --action search --resource-id <resource_id> --query "关键词1 关键词2 关键词3" --limit 10
# 方式二:通过 name + project
python scripts/viking_search.py --action search --name "XXX" --project "default" --query "关键词1 关键词2 关键词3"
对所有有权限的知识库并发执行轻量级检索,这是知识问答的首选。
对于含多个子意图的任务,应分多次并行调用 auto,每次传一个独立子意图的关键词 query。
export DATABASE_VIKING_COLLECTION="rid1,rid2,rid3"
# 单一子意图
python scripts/viking_search.py --action auto --query "网络故障 原因 分类"
# 多子意图(在同一轮内并行发起,不要拼接进同一个 query)
python scripts/viking_search.py --action auto --query "网络故障 原因 分类"
python scripts/viking_search.py --action auto --query "网络故障 排查步骤 解决方法"
python scripts/viking_search.py --action auto --query "网络故障 标准化处理流程"
再次强调:每个
--query是关键词组合,不是任务原文;多子意图必须拆分 + 并行,禁止拼接。
{
"code": 0,
"message": "success",
"data": {
"resource_id": "rid_xxx",
"collection_name": "xxx",
"description": "包含商品信息、订单数据、用户评价等电商相关文档。",
"project": "default"
}
}
{
"code": 0,
"message": "success",
"data": {
"result_list": [
{
"score": 0.892,
"rerank_score": 0.912,
"content": "Mac 配置 Python 开发环境的步骤:首先安装 Homebrew,然后通过 brew install pyenv 来管理 Python 版本...",
"chunk_title": "Python 环境配置",
"chunk_id": "chunk_101",
"doc_info": {
"doc_id": "doc_001",
"doc_name": "Mac 开发环境配置大全.md",
"doc_type": "markdown"
}
}
]
}
}
{
"mode": "multi",
"query": "Mac 上怎么配 Python 环境?",
"collections": [
{
"resource_id": "rid1_mac_guide",
"search": {
"code": 0,
"data": {
"result_list": [
{
"score": 0.892,
"rerank_score": 0.912,
"content": "Mac 配置 Python 开发环境的步骤:首先安装 Homebrew,然后通过 brew install pyenv...",
"chunk_title": "Python 环境配置",
"chunk_id": "chunk_101",
"doc_info": { "doc_id": "doc_001", "doc_name": "Mac 开发环境配置大全.md", "doc_type": "markdown" }
}
]
}
},
"top_chunks": [
{
"score": 0.892,
"rerank_score": 0.912,
"content": "Mac 配置 Python 开发环境的步骤:首先安装 Homebrew,然后通过 brew install pyenv...",
"chunk_title": "Python 环境配置",
"chunk_id": "chunk_101",
"doc_id": "doc_001",
"doc_name": "Mac 开发环境配置大全.md",
"doc_type": "markdown"
}
]
},
{
"resource_id": "rid2_hr_policy",
"search": { "code": 0, "data": { "result_list": [] } },
"top_chunks": []
}
]
}
本 Skill 执行所需的 API 地址及鉴权 Key 已在执行环境中预先配置。脚本会自动从环境变量读取必要凭证,无需用户干预,不应直接向用户暴露任何敏感配置。
default。用于按名称查询/检索时辅助定位。resource_id 列表,作为 auto / info / search 的可访问范围;同时也是合法 resource_id / name 的唯一可信来源——不要猜不在此列表里的 ID 或名称。info / search 若指定了列表外的库,脚本会报错:没有权限访问当前知识库数据源。info / search 返回 没有权限访问当前知识库数据源,说明请求的 resource_id 或 name 不在 DATABASE_VIKING_COLLECTION 内。不要猜测其他 ID/名称重试,应仅使用允许列表中的库,或改走 auto。auto 模式默认并发 8,可通过 --max-workers 调整。多子意图并行调用时,多次 auto 应在同一轮内发起。auto 模式的轻量检索默认 limit=5;如果 top-N 均高度相关但被截断,再考虑调大 --limit,不要把放大 limit 当作召回不准的兜底手段。--name 去查。viking_search.py - Viking 知识库检索脚本(支持 info / search / auto 三种动作)search_knowledge_api.md - 火山引擎 Viking 知识库 搜索 API 文档(原始接口说明)collection_info_api.md - 火山引擎 Viking 知识库 查看知识库详情 API 文档(原始接口说明)