知识库技能
当用户要求基于项目知识库、内部资料、上传入库文档或知识图谱相关内容回答问题时,使用此技能。
可用工具
list_kbs:列出当前会话可访问且已启用的知识库。query_kb:按kb_id在指定知识库中检索内容,返回file_id和相关片段。open_kb_document:按kb_id和file_id打开文档原文窗口,适合查看更完整上下文。find_kb_document:在已知文档内用关键词或正则定位段落。get_mindmap:查看知识库思维导图结构。search_file:按文件名关键词搜索知识库中的文件,支持指定知识库或跨知识库,返回文件列表与分页信息。download_kb_file:按kb_id和file_id下载知识库原始二进制(pdf/docx/xlsx 等)到沙盒outputs目录,返回沙盒内可见的virtual_path。当后续需要用代码读取原始文件结构(如openpyxl读 xlsx 单元格、pdfplumber重新解析版面)时使用;query_kb/open_kb_document只返回文本切片,无法满足需要文件对象的场景。
操作流程
- 需要先确认当前会话有哪些知识库可用;不确定时调用
list_kbs。 - 针对用户问题选择最相关的知识库,使用
query_kb检索。 - 如果检索片段不足以回答,使用返回的
file_id调用open_kb_document查看上下文。 - 如果用户要求定位术语、指标、章节或原文证据,使用
find_kb_document在候选文档内查找。 - 当用户关心知识库结构、文件分类或知识框架时,使用
get_mindmap。
关键约束
- 只能访问当前会话配置和用户权限允许的知识库。
- 不要编造
kb_id或file_id;优先从list_kbs和query_kb的返回结果中获取。 - 回答需要可追溯时,应说明依据来自哪个知识库、文件或检索片段。
- Dify 等外部只读知识库可能只支持检索,不一定支持打开全文或文档内查找;遇到工具返回限制说明时,应如实告知用户。