编辑
2025-12-08
学习笔记
00

目录

阶段 0:打地基(1 周)
阶段 1:文档解析与结构化(1–2 周)
阶段 2:可计算规则引擎(1 周)
阶段 3:RAG 知识库(1–1.5 周)
阶段 4:LLM 推理与可解释输出(1 周)
阶段 5:系统集成(0.5–1 周)
阶段 6:安全与合规(并行推进,至少 0.5 周专注)
阶段 7:持续评测与运维(0.5 周)
一套可直接上手的“最低可用技术栈”
你的每日学习与实操节奏(建议)
你可能会用到的关键词(便于自行检索)
给你的“第一周脚手架任务清单”(复制就做)

下面给你一条从0到能落地部署的学习/实战路线,按阶段拆解你需要掌握的知识、推荐的开源组件、对应的小项目,以及每一阶段的“通关标准”。按这个走,正常 6–10 周能把 MVP 跑起来。


阶段 0:打地基(1 周)

学什么

  • Python 工程化:虚拟环境、包管理、poetry/pip、pytest、ruff、pre-commit。
  • Web 服务:FastAPI(或 Flask),Pydantic 做数据模型。
  • Docker 基础:Dockerfile、Compose、镜像体积优化、多阶段构建。
  • GitLab/GitHub CI:基础流水线、测试、镜像发布。

小项目

  • 用 FastAPI 写一个“健康检查 + 文件上传”的微服务,接收 PDF 返回文件元信息(页数、大小)。 通关标准
  • docker compose up 能一键启动服务 + Postgres(或 SQLite)并通过 CI 自动跑测试。

阶段 1:文档解析与结构化(1–2 周)

学什么

  • PDF 基础与常见坑:文本/扫描件混合、页眉页脚、表格、图像。
  • OCR:PaddleOCR(离线),Tesseract;版面分析:layoutparser、pdfplumber、docling。
  • 表格抽取:camelot、tabula、pdfplumber 的表格启发式。
  • 文件清洗:页码/页眉识别、去水印、合并跨页表格。

推荐组件

  • OCR:PaddleOCR(中英文强、离线)
  • 版面/表格:pdfplumber + layoutparser + camelot
  • 元数据存储:PostgreSQL(JSONB 列存储结构化片段)

小项目

  • 把一份化学检测报告解析成 JSON:

    • 抓取:标题、报告编号、样品信息、表格数据(项目、结果、单位、LOD/LOQ)、结论页截图坐标。 通关标准
  • 任取 10 份历史报告,字段抽取的准确率 ≥ 90%,表格行列对齐错误率 < 5%。


阶段 2:可计算规则引擎(1 周)

学什么

  • 结果校验逻辑:单位换算、有效数字、LOD/LOQ/回收率计算。
  • 规则引擎/数据校验框架:Pandas/Polars + Great Expectations(或自写规则框架)。
  • 配置化规则:阈值、方法版本映射、例外列表。

小项目

  • 以 CSV/JSON 为输入,输出“问题清单(id、严重度、期望值、证据位置)”的校验器。 通关标准
  • 能覆盖:单位换算、证书有效期、回收率区间、空白/质控判定等≥15 条硬规则;性能:单报告 < 5 秒。

阶段 3:RAG 知识库(1–1.5 周)

学什么

  • 文档切块策略(按条款/段落/表格行,窗口重叠)、嵌入模型选择、召回评估(nDCG、Recall)。
  • 向量数据库:Qdrant(轻、好用)或 Weaviate/FAISS。
  • 检索-阅读(RAG)流水线:检索、重排(可选 BM25+向量混合)、引用回链。

推荐组件

  • 嵌入:bge-m3 / e5-mistral(中文/英混合好)、或 GTE 系列。
  • 向量库:Qdrant(Docker 起一个就好)。
  • 解析:将 GB/ISO/ASTM 的条款切片后入库(标题、条款号、正文、版本号)。

小项目

  • 输入“项目名称 + 方法版本 + 场景问题”,返回前 3 条条款片段并附“文号/条款号/切片 id”。 通关标准
  • 检索的条款引用命中率 ≥ 85%(人工抽检 50 题)。

阶段 4:LLM 推理与可解释输出(1 周)

学什么

  • 本地推理与量化:llama.cpp / vLLM,模型(Qwen2.5/ Llama 3.1 / Yi / DeepSeek)的 7–14B 量化。
  • 提示词工程:角色设定、结构化输出(JSON Schema)、拒答与只依据证据。
  • 评测:误/漏报率、响应时延、失败重试、输出校验(JSON schema 验证)。

推荐组件

  • 本地模型:**Qwen2.5-7B-Instruct(q4_k_m 量化)**足以做解释与归纳。
  • 服务器:单卡 24–48GB 显存优先;无 GPU 可用 CPU 量化+缓存。

小项目

  • 让 LLM 读取“规则结果 + RAG 条款片段 + 报告片段”,生成最终问题清单(带证据坐标与条款引用)通关标准
  • 对 20 份报告的人审对比:漏报 ≤ 5%,误报 ≤ 10%;JSON 输出 100% 通过 schema 验证。

阶段 5:系统集成(0.5–1 周)

学什么

  • 微服务拆分:解析服务、规则服务、RAG 服务、LLM 服务、网关。
  • 消息队列/任务:Celery/RQ + Redis;大文件处理与重试。
  • 前端与 UX:在 LIMS/文控里嵌一个“AI 预审侧栏”(显示问题列表、证据截图、条款引用、采纳/驳回)。

小项目

  • FastAPI 网关 暴露 /review:上传 PDF → 异步任务 → 查询状态与结果;前端用任意框架(或现有系统 iframe)渲染。 通关标准
  • 10 份报告并发提交能稳定跑完;失败任务有可视化重试与日志闭环。

阶段 6:安全与合规(并行推进,至少 0.5 周专注)

学什么

  • 内网/专有云隔离:VPC、出站默认拒绝、只开放网关白名单。
  • 数据保护:传输 TLS、存储 AES-256、磁盘加密、备份加密。
  • 身份与权限:RBAC/ABAC、MFA、审计日志(谁看了什么、何时采纳了哪条 AI 建议)。
  • 脱敏与最小化:进入 LLM 前对客户名/地址/电话做掩码;中间产物(文本/向量/日志)不出域
  • 供应商条款:数据不留存、不用于训练;关停“遥测/日志上报”。

小项目

  • 对接企业 SSO(OpenID/OAuth2),为“客户/项目/批次/报告”加行级权限;做审计报表通关标准
  • 渗透测试基本项通过;离线/断网场景服务可运行;外联全部关闭仍可完成审核。

阶段 7:持续评测与运维(0.5 周)

学什么

  • 指标面板:Prometheus + Grafana(QPS、时延、GPU/CPU 占用、任务失败率)。
  • 质量评测:金标集与 A/B;每周回归测试。
  • 日志与追踪:ELK/Opensearch;请求链路 trace id;问题复现“一键打包”。

小项目

  • 建立“评测脚本”:一键跑 50 份金标报告,生成误/漏报率与问题 TopN。 通关标准
  • 发布前跑评测基线;上线后能回看每条结论的证据片段与条款回链

一套可直接上手的“最低可用技术栈”

  • 解析层:pdfplumber + layoutparser + PaddleOCR + camelot
  • 规则层:Pandas/Polars + Great Expectations(规则配置存 Postgres JSONB)
  • RAG 层:bge-m3 嵌入 + Qdrant(混合检索:BM25 + 向量)
  • LLM 层:Qwen2.5-7B-Instruct(llama.cpp 或 vLLM),只做推理
  • 服务化:FastAPI(各模块微服务)+ Celery/RQ + Redis
  • 存储:PostgreSQL(结构化结果、审计)+ MinIO(文件、截图)
  • 运维:Docker Compose 起步 → K8s/ArgoCD 进阶
  • 监控:Prometheus + Grafana;日志 ELK/Opensearch

你的每日学习与实操节奏(建议)

  • 每天 2–3 小时学习 + 1–2 小时把当天内容做成小 demo。
  • 周末做一次端到端打通,从“上传 PDF → JSON 问题清单 + 证据截图 + 条款引用”。

你可能会用到的关键词(便于自行检索)

  • “layout-aware ocr / layout analysis”
  • “pdf table extraction camelot / pdfplumber tables”
  • “RAG evaluation nDCG / recall / hybrid search bm25 + dense”
  • “llama.cpp q4_k_m / vLLM tensor parallel”
  • “Great Expectations data quality rules”
  • “Qdrant hybrid search / HNSW parameters”
  • “zero trust outbound / data diode / egress control”

给你的“第一周脚手架任务清单”(复制就做)

  1. 用 Docker Compose 起 Postgres + Qdrant + MinIO + FastAPI 骨架。
  2. 完成 /upload(保存到 MinIO)、/parse(pdfplumber + OCR,存结构化 JSON 到 Postgres)。
  3. 将 5–10 条标准条款手工切片入 Qdrant(字段:doc_id、clause、text、version)。
  4. 写 5 条规则:单位换算/有效数字/证书有效期/回收率/空白阈值,输出统一 JSON。
  5. 写一个命令行评测脚本:对示例报告跑全链路,输出 markdown 报告(带统计)。

本文作者:huagege

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!