返回 Skill 列表
extension
分类: 效率与办公无需 API Key

迎检审查

迎检合规审查。用多模态能力解析迎检文件提取检查项,逐条调用 RAGFlow 混合检索接口在佐证数据集中检索材料,交叉验证后输出带佐证文档名和 document_id 的合规报告或缺项清单。适用于内控检查、审计迎检、制度落实核查等场景。

person作者: luogenghubModelScope

迎检合规审查(Inspection Review)

输入(向用户确认)

  • inspection_file:迎检文件路径(PDF/扫描件/图片/docx/xlsx)
  • dataset_name:RAGFlow 佐证数据集名(落实文件所在的知识库)
  • inspection_name:检查名称(可选;缺省时从迎检文件名/标题提取简短中文名,如《关于开展内控检查的通知》→ 内控检查

Step 0 — 前置检查

依赖系统环境变量 RAGFLOW_BASE_URLRAGFLOW_API_KEY(用户已配置到系统)。先验证非空:

# bash / Git Bash
[ -z "$RAGFLOW_BASE_URL" ] || [ -z "$RAGFLOW_API_KEY" ] && echo "缺少环境变量"
:: Windows cmd
if "%RAGFLOW_API_KEY%"=="" echo 缺少环境变量

缺失时提示用户:配置系统环境变量后重开终端(Windows 新变量不会注入已运行的会话)。

Shell 变量引用对照(后续命令按所在终端选用,命令其余部分完全一致):

| Shell | 引用方式 | |---|---| | bash / Git Bash | $RAGFLOW_BASE_URL | | Windows cmd | %RAGFLOW_BASE_URL% | | PowerShell | $env:RAGFLOW_BASE_URL(且需用 curl.exe 而非 curl 别名) |

审查工作目录

在用户当前工作目录创建 <检查名称>-<YYYYMMDD>/(同日重复追加 -HHMM):

内控检查-20260828/
├── checklist.json      # Step 1 产物:检查清单
├── requests/           # Step 2:每条检查项的检索请求体(item-01.json ...)
├── evidence/           # Step 2:RAGFlow 原始响应(item-01.json ...)
│   └── docs/           # Step 3:佐证原文副本(<document_id>.pdf ...,供报告跳转预览)
└── 合规报告-20260828.md # Step 3 产物:报告(中文名)

JSON/中间产物一律英文名,最终报告用中文名。以下 <DIR> 指该目录。

Step 1 — 解析检查项

  1. 用多模态能力直接读取迎检文件(PDF/扫描件/图片/docx/xlsx 均可),识别其中的检查表格/条目。
  2. 提取结构化检查项,写入 <DIR>/checklist.json,结构见 references/schemas.md。每条含 idcategoryrequirement(检查要求原文)、keywords(检索关键词 2~4 个)。
  3. 检查项 >30 条时提示用户是否分批执行;用户确认后按批处理,每批独立走 Step 2/3,报告合并。

Step 2 — 逐条检索佐证

2.1 解析数据集 ID

curl -s -G "$RAGFLOW_BASE_URL/api/v1/datasets" \
  --data-urlencode "name=<dataset_name>" \
  -H "Authorization: Bearer $RAGFLOW_API_KEY" \
  -o "<DIR>/datasets.json"

读取响应取 data[0].id 作为 dataset_id;查无此名时列出 data[].name 供用户选择。可带 include_parsing_status=true 确认文档均已解析(done_count > 0 且无 running_count/fail_count)。

2.2 逐条检索

对每条检查项,先生成请求体 <DIR>/requests/<item_id>.json(结构见 schemas.md):

{
  "question": "<requirement 原文 + 关键词>",
  "dataset_ids": ["<dataset_id>"],
  "page": 1,
  "page_size": 10,
  "similarity_threshold": 0.2,
  "vector_similarity_weight": 0.3,
  "keyword": true,
  "highlight": true
}

再执行检索(请求体走文件,规避 cmd/PowerShell/bash 的引号转义差异):

curl -s -X POST "$RAGFLOW_BASE_URL/api/v1/retrieval" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $RAGFLOW_API_KEY" \
  --data @"<DIR>/requests/<item_id>.json" \
  -o "<DIR>/evidence/<item_id>.json"

逐条执行并落盘;接口字段细节见 references/retrieval-api.md

Step 3 — 交叉验证 + 报告

逐条读取 evidence/<item_id>.json,比对「检查要求」与命中 chunks,判定:

| 判定 | 条件 | |---|---| | ✅合规 | 最高 similarity ≥ 0.5,且命中内容语义覆盖检查要求 | | ⚠️待补 | 有命中但 0.2 ≤ similarity < 0.5,或证据仅覆盖部分要求 | | ❌缺项 | 无命中(total 为 0 或 chunks 为空) |

每条记录:判定、佐证文档名(document_keyword)、document_id、页码、最高相似度、关键摘录(highlight)。

下载佐证原文 + 提取页码(判定完成后执行,为报告提供可点击预览):

  1. 对非缺项判定引用的 document_id 去重,逐个下载佐证原文到 <DIR>/evidence/docs/(接口直接返回原文件二进制,见 references/retrieval-api.md):
curl -s "$RAGFLOW_BASE_URL/api/v1/datasets/<dataset_id>/documents/<document_id>" \
  -H "Authorization: Bearer $RAGFLOW_API_KEY" \
  -o "<DIR>/evidence/docs/<document_id>.<ext>"

扩展名 <ext>document_keyword 的真实后缀(.pdf/.docx/...)。文件名用 document_id(英文、无空格,Markdown 链接安全)。下载失败时该条佐证在报告中退化为纯文本文档名,不中断流程。

  1. 页码:命中 chunk 的 positions[页码, left, top, right, bottom] 数组,一个 chunk 可跨多页。取最高相似度 chunk 的全部页码去重排序,报告标注如 P4-5

报告佐证列使用相对链接 [《文档名》](evidence/docs/<document_id>.<ext>),本地 Markdown 预览可直接点击打开原文。按 templates/report-template.md 生成 <DIR>/合规报告-<YYYYMMDD>.md,含汇总统计与缺项清单。

关键约束

  1. 佐证文档名与 document_id 必须来自 RAGFlow 真实响应,禁止编造。
  2. 相似度低于 0.5 的命中一律降级为「待补」,不得标为合规。
  3. API Key 只出现在请求头,不写入任何落盘文件,不出现在报告中。
  4. requests/evidence/ 保留不删,作为审查痕迹可追溯。
  5. 佐证原文仅下载报告引用的文档(按 document_id 去重),不整库下载。