拿到一份上百页的业务报告,不必把整份材料贴进网页聊天。你可以先在 Mac 上从 PDF 提取可选中的文字,再交给本机 Qwen 整理重点、风险和待确认问题,并要求每一条都附页码和原文短句。
这次用一份 100 页、全部由脚本生成的虚构经营分析报告测试。模型需要找出报告的核心结论、风险,以及摘要和风险章节之间的数字差异;结果会在下方展示。样例数据不对应真实企业,也不构成投资或经营建议。
你需要准备
| 项目 | 说明 |
|---|---|
| 电脑 | 本文在 Apple M1 Max、64GB 内存的 Mac 上实测 |
| 软件 | Ollama、Python 3 和 macOS 自带的 Swift / PDFKit |
| 模型 | qwen3.8-27b:latest;首次下载约 18GB |
| 有文字层、可复制文字的 PDF;扫描版要先 OCR | |
| 费用 | 本机模型不按次计费;需准备模型磁盘空间和运行内存 |
| 时间 | 模型下载另计;实际阅读时间看 PDF 文字量、模型和设备 |
Ollama 负责在本机运行模型,Qwen3.8 27B 的官方模型页列出 256K 上下文和文本输入能力。长文仍要控制输入长度;“100 页”不等于所有 PDF 都一样长。 Ollama Qwen3.8 模型页
第一步:用练习报告跑通流程
先解压100 页长报告练习包。里面的 PDF 是虚构经营分析报告,包含一处需要核对的经营利润预测差异。你可以先跑样例,再换成自己有权处理的报告。
第二步:让本机模型读全文
确认 Ollama 已安装并运行,然后下载 Qwen3.8 27B:
ollama pull qwen3.8-27b:latest
在终端进入解压后的练习包文件夹,运行:
python3 summarize_report.py "虚构经营分析报告_100页.pdf" > model_output.json
脚本使用 macOS PDFKit 逐页读取可选中的文字,并在文本里保留页码标记;随后通过 Ollama 的本机接口提交给模型。PDFKit 的 PDFDocument 提供从 PDF 获取文本的接口。Apple PDFKit 文档
输出包括摘要、重点、风险、前后不一致和待确认问题。提示词要求关键判断附一段短引文和页码;模型回答只是阅读线索,仍要回 PDF 原页核对。提交的是提取出的全文,敏感报告先确认设备、访问权限和单位规则。
第三步:核对结论和页码
逐条打开模型标出的页码,确认引用和判断是否一致。练习包里的 verify_summary.py 会检查模型引用的短句是否确实出现在标注页,但它不能判断引文有没有被断章取义。
本次实测结果
在 Apple M1 Max、64GB 内存、Ollama 0.35.1 上,qwen3.8-27b:latest 读取 100 页练习报告,PDFKit 提取正文后向模型提交 18,087 个输入 tokens,推理耗时 240.54 秒(模型加载 9.48 秒)。模型找出了第 4 页 780 万元基准预测和第 82 页租金上涨 8% 时 690 万元的预测,并给出了页码和原文。
人工复核时没有把这两个数直接定性为矛盾:第 4 页假设租金稳定,第 82 页描述租金上涨情景,报告没有说明两者的口径关系。因此练习包保留原始模型输出,并另附人工校订摘要;引用校验器检查了 7 条引文,均可在对应页的提取文本中找到。检查只能证明文字位置匹配,不能替代对报告上下文的判断。
模型总结不能替代人工审阅。尤其核对口径、时间区间、单位、预测假设、表格脚注和风险章节;遇到数字冲突,应把冲突本身列为待确认项,不让模型替作者选一个答案。
扫描版 PDF 怎么办?
如果 PDF 不能选中或复制文字,PDFKit 提取到的文本可能为空。先用单位批准的 OCR 工具识别,再检查页码、表格列和小数点;本篇没有实测扫描件 OCR,不能把扫描 PDF 直接套进这条流程。
常见问题
它会一次读完任何 100 页 PDF 吗? 不一定。页数不代表文字量;图表、扫描图片和复杂表格会影响提取。模型上下文也受版本、参数和机器资源影响。先检查输出里的页码和原文,再决定是否拆章节处理。
可以直接把报告发给云端模型吗? 先确认报告允许外发。财务、客户、员工或未公开经营数据可能受单位规则约束;本教程只在本机调用 Ollama,但本机设备和日志仍需按组织要求管理。
引用和页码对了,结论就一定正确吗? 不是。页码脚本只能核对引文位置;“同比”“环比”、统计范围、例外条件和上下文仍需人工核查。
工具清单
- Ollama:本机模型运行工具,免费使用;需下载模型。
- Qwen3.8:本教程使用的本机文本模型版本为
qwen3.8-27b:latest。 - Swift / PDFKit:macOS 自带的 PDF 读取框架;练习脚本用它提取可选中的 PDF 文本。
- Python 3:运行摘要和页码核对脚本,使用标准库。
下载 100 页长报告练习包。包内有虚构 PDF、生成脚本、提取脚本、提示词、模型输出和引文核对工具。
接下来可以做什么
如果你在处理票据图片,可以看发票识别:提取字段后复核金额,先把原始材料整理成可核对的结构化数据。