本地深度研究台 (Local Deep Research)
一个生产级本地 Agent Skill:在 AI PC 上用 OpenVINO 把「一堆机密 PDF」读薄成「一份有据可循的尽调报告」。 数据 100% 不出本机(纯 localhost + OpenVINO + 模型 ≤ 35B),适合投研、法务、咨询、企业情报等对隐私与合规有硬要求的场景。
核心能力
- 私有文档深度研究:研究问题 + 本地文档集 → 多步检索 → 跨文档比对 → 推理 → 引用溯源。
- 扫描件/表格/图表理解:PDF 无文本层时,渲染页面为图像,由 VLM 抽取结构化文本(32 种语言 OCR、长文档结构解析)。
- 多跳推理 + 引用溯源:研究循环(规划→检索→重排→综合→自审)做多步推理,模型只负责干净地执行每一步。
- 引用溯源与矛盾感知:每个结论标注
[来源: 文件#页码],并显式列出文档间的不一致与低置信度断言。
架构(一个模型,两种角色)
| 角色 | 模型 | 设备 | 说明 | |---|---|---|---| | 理解(读图/扫描/表格) | Qwen3-VL-2B-Instruct (OpenVINO IR, FP16) | AUTO→iGPU/CPU | 页面图像 → 结构化文本 | | 大脑(推理/思考/规划/综合) | 同上 | AUTO→iGPU/CPU | 文本输入 → 深度研究输出 |
检索使用 BM25(零模型索引)+ 同一 Qwen 模型做候选重排,因此「大脑 + 理解」真正只依赖这一个本地模型。
Usage(唯一入口:scripts/run.ps1)
本技能只暴露 scripts/run.ps1 作为调用入口,不要直接调用其它脚本。
# 基础:对某个文件夹下的私有文档做深度研究
powershell -File scripts/run.ps1 -Query "这家公司 2024 年的主营业务收入和现金流是否存在矛盾?" -Docs "E:/interest/contest/modelscope/Intel Production AI Skills/pdf_demo"
# 指定输出路径与思考开关
powershell -File scripts/run.ps1 -Query "..." -Docs "E:/interest/contest/modelscope/Intel Production AI Skills/pdf_demo" -Out "E:/interest/contest/modelscope/Intel Production AI Skills/reports/report.md" -Think $false
# 仅做模型/环境自检(不下载、不推理)
powershell -File scripts/run.ps1 -SelfCheck
| 参数 | 必填 | 说明 |
|---|---|---|
| -Query | 是* | 研究问题(自然语言) |
| -Docs | 是* | 本地文档目录或单个 PDF 路径 |
| -Out | 否 | 报告输出路径(默认打印到 stdout) |
| -Think | 否 | 是否启用模型思考(默认 $false:关闭后由研究循环负责推理,报告更干净、无思考链泄漏) |
| -SelfCheck | 否 | 仅检查硬件/环境/模型是否就绪 |
* 除非使用了 -SelfCheck。
在 WorkBuddy 中调用本技能
当触发词命中(深度研究/研读/尽调/读薄这批文件/本地私有资料分析…),按以下步骤执行:
- 确认用户的研究问题
Query与目标文档路径Docs(缺则追问)。 - 调用
powershell -File "<本技能目录>/scripts/run.ps1" -Query "<问题>" -Docs "<文档路径>"。 - 将 run.ps1 打印的 Markdown 报告原样返回给用户,并提示「结论均带 [来源] 标注,矛盾项已单独列出」。
- 首次运行会自动下载模型(约 4.3GB BF16 源,直接导出 OpenVINO IR(FP16),无需反量化),耗时较长——提前告知用户。
输出协议
返回 Markdown,结构固定:
# 研究结论(直接回答研究问题)## 证据链(每条结论后附[来源: 文件#页码])## 跨文档矛盾 / 低置信度(显式列出不一致或依据不足之处)## 未覆盖的问题(模型自审后认为证据不足的子问题)
失败处理
- 非 Intel/不支持平台:run.ps1 在启动 Python 前做硬件门禁,打印平台错误并
exit 1。 - 首次运行需下载模型:run.ps1 会先确保 OpenVINO IR 就绪(缺失则自动下载 BF16 源并导出为 OpenVINO IR(FP16)),支持断点续传;下载中
client会返回status: downloading与进度。 - 无云回退:本技能不调用任何云端 API;离线即用。
Important
- 不要直接调用
client.py/server.py/prepare_model.py,一律走run.ps1。 - 首次运行会下载模型(BF16 源 ~4.3GB + 本地导出 OpenVINO IR(FP16)),请确保磁盘剩余 > 12GB。
- 不支持的平台会直接报错退出,不存在静默降级到云端的行为。
- 全程本地推理,文档与问题均不上传任何服务器。
微信扫一扫