知识检索技能
此技能使用 RAG(Retrieval-Augmented Generation)技术从本地知识库中检索相关信息。
能力范围
- •语义检索: 基于向量相似度的语义搜索
- •关键词匹配: 精确关键词检索
- •多文档整合: 从多个文档中提取相关片段
- •上下文增强: 将检索结果注入 Prompt 增强回答
使用场景
当用户提出以下类型的问题时,应激活此技能:
- •"根据文档,XXX 是什么意思?"
- •"在知识库中查找关于 XXX 的信息"
- •"帮我找找有关 XXX 的资料"
- •任何需要基于文档回答的问题
依赖工具
| 工具名称 | 用途 | 必需 |
|---|---|---|
rag_retriever | 向量检索 | ✅ |
rag_indexer | 文档索引 | ❌ |
输入参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| query | string | ✅ | 检索查询 |
| top_k | int | ❌ | 返回结果数量,默认 3 |
| filter | object | ❌ | 过滤条件(文档类型、日期等) |
| threshold | float | ❌ | 相似度阈值,默认 0.7 |
输出格式
json
{
"success": true,
"data": {
"query": "什么是机器学习",
"results": [
{
"content": "机器学习是人工智能的一个分支...",
"source": "ai_basics.md",
"score": 0.92,
"metadata": {
"page": 1,
"chunk_id": "chunk_001"
}
}
],
"total": 3,
"context_for_llm": "相关上下文拼接文本..."
}
}
处理流程
- •接收用户查询
- •将查询文本向量化
- •在 FAISS 索引中执行相似度搜索
- •获取 Top-K 相关文档片段
- •整合为可用于 LLM 的上下文
检索策略
- •混合检索: 结合向量检索和关键词匹配
- •重排序: 对检索结果进行二次排序
- •去重: 移除重复或高度相似的片段
- •截断: 控制上下文长度不超过 LLM 限制
注意事项
- •需要先完成文档索引
- •检索结果质量依赖 Embedding 模型
- •建议定期更新索引