59 lines
1.8 KiB
Markdown
59 lines
1.8 KiB
Markdown
|
|
---
|
|||
|
|
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. 查询文本应保持用户原意,不要过度改写
|