ai-robot-core/ai-service/tools/kb_search_dynamic.md

59 lines
1.8 KiB
Markdown
Raw Normal View History

---
name: kb_search_dynamic
description: 知识库动态检索工具,支持元数据驱动过滤
triggers:
- 用户问题需要知识库事实支撑回答
- 需要按租户元数据动态过滤知识条目
- 涉及产品知识、政策条款、FAQ查询
- 用户询问具体业务规则或流程
anti_triggers:
- 纯闲聊或问候语
- 仅流程确认(如"好的"、"明白了"
- 已有充分 KB 结果且无需补充
- 用户问题与知识库内容无关
tools:
- kb_search_dynamic
---
## 使用指南
### 何时使用
当需要知识库事实支撑回答,且需按租户元数据动态过滤时使用。
### 何时不使用
当用户问题不依赖知识库(纯闲聊/仅流程确认)或已有充分 KB 结果时不重复调用。
### 参数说明
| 参数 | 类型 | 必填 | 说明 |
|-----|------|-----|------|
| query | string | 是 | 检索查询文本 |
| tenant_id | string | 是 | 租户 ID系统自动注入 |
| scene | string | 否 | 场景标识,如 open_consult |
| top_k | integer | 否 | 返回条数默认5 |
| context | object | 否 | 上下文,用于动态过滤字段 |
### 示例调用
```json
{
"query": "退款到账一般要多久",
"scene": "open_consult",
"top_k": 5,
"context": {"product_line": "vip_course", "region": "beijing"}
}
```
### 结果解释
- `success=true``hits` 非空:命中知识,可直接使用
- `missing_required_slots` 非空:应先向用户补采信息
- `fallback_reason_code` 存在:需降级处理
### 注意事项
1. tenant_id 由系统自动注入,模型不要填写
2. context 字段用于传递动态过滤条件,如产品线、地区等
3. 避免重复调用:如果上一轮已有充分结果,不要再次调用
4. 查询文本应保持用户原意,不要过度改写