SuperAPI AI 工具集

lark-workflow-knowledge-qa

办公与效率

查看项目

更新于 10-16 08:52

技能介绍

用途

本工作流用于实现飞书知识库的 RAG(检索增强生成)式问答:先搜索定位相关文档,再读取内容,最后基于真实文档内容回答问题并附上来源引用。适用于以下场景:

  • 「知识库里关于 XX 怎么说的」/「公司的 YY 政策是什么」
  • 「报销流程是什么」/「请假需要提前几天」
  • 「XX 技术方案文档在哪里」/「找一下关于 YY 的文档」
  • 「帮我从知识库查一下 ZZ」/「文档里有没有关于 XX 的说明」
  • 「知识库搜索 XX」/「Knowledge base Q&A」

整体流程为:用户问题 → 搜索知识库 → 定位相关文档 → 读取内容 → AI 问答 → 回答 + 引用。

前置条件

支持 user 身份。执行前需确保已授权:

lark-cli auth login --domain wiki,doc,drive

开始前必须先用 Read 工具读取 lark-shared/SKILL.md,其中包含认证、权限处理和安全规则。

主要能力与工作流

工作流分为以下步骤:

Step 1:解析用户问题 从自然语言问题中提取关键搜索词,去除停用词,保留核心名词和动词,2-4 个词为佳。例如「报销流程是什么」→ 搜索词「报销流程」;「关于 API 接入的规范」→「API 接入 规范」。

Step 2:搜索知识库 方式 A — 知识库节点搜索:

# 列出可用的知识空间
lark-cli wiki spaces list --format json

# 在知识空间中搜索
lark-cli wiki spaces nodes search --data '{"space_id":"<space_id>","query":"<搜索词>","page_size":10}' --format json

方式 B — 云空间文件搜索(补充):

# 全局搜索文档
lark-cli drive files search --data '{"search_key":"<搜索词>","count":10,"doc_types":["docx","doc","wiki"]}' --format json

高级搜索语法(v1.0.7+)可提升搜索精度,支持布尔搜索("A AND B")、标题搜索("intitle:报销流程")、组合搜索("intitle:入职 AND 流程")。建议优先使用高级搜索语法。

Step 3:筛选与排序 合并两种搜索结果,按 doc_token 去重;优先选择标题中包含搜索词的文档;取 Top 3-5 个最相关文档。上下文管理上最多读取 5 篇文档,结果过多时提示用户缩小搜索范围。

Step 4:读取文档内容

# Wiki 链接需先解析真实 token
lark-cli wiki spaces get_node --params '{"token":"<wiki_token>"}'

# 读取文档内容
lark-cli docs +fetch --doc "<doc_token>" --format markdown

长文档处理:单篇文档过长(>20KB)时,仅读取与问题相关的章节,可通过文档大纲(# 标题层级)定位相关段落。

Step 5:AI 综合问答 基于用户问题与读取到的文档内容生成回答,输出结构包含回答正文、来源文档表格(含文档标题、相关程度、链接)以及补充说明。生成规则:回答必须基于文档内容,每个要点应能追溯到具体文档;用 [1] [2] 标注信息来源;知识库中未找到相关内容时明确告知;文档创建或编辑时间较久(>6 个月)时提示可能过时;多篇文档涉及同一主题时综合给出完整回答。

Step 6:追问与深入(交互式) 回答后主动提供追问建议,如相关问题及完整文档链接。

容错机制

  • 未找到相关文档:明确告知「未找到」,建议扩大搜索范围或换关键词
  • 文档无读取权限:列出标题但标注「无权限」,建议联系文档管理员
  • 搜索结果过多:取 Top 5,提示用户缩小范围
  • 文档内容过长:按章节标题定位相关段落,不读取全文
  • wiki 域未授权:降级为仅使用 drive files search
  • 文档可能过时:在回答中标注文档最后编辑时间

权限表

步骤 命令 所需 scope 是否必选
知识库搜索 wiki spaces nodes search wiki:wiki:readonly 必选
Wiki 节点解析 wiki spaces get_node wiki:wiki:readonly 必选
文档搜索 drive files search drive:drive:readonly 可选(补充搜索)
读取文档 docs +fetch docx:document:readonly 必选

参考

  • lark-shared — 认证、权限(必读)
  • lark-wiki — 知识库搜索与节点查询
  • lark-doc — +fetch 详细用法
  • lark-drive — 文件搜索详细用法

限制

关于收费、价格、平台支持范围等信息,资料中暂未提供。