Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PDF-ZL

上市公司公告 PDF 自动化处理与知识库入库系统

从巨潮资讯网批量下载年报 PDF → 按章节智能切分 → MinerU 转 Markdown → MD 精简清洗 → WeKnora 知识库入库,全流程自动化。

流水线:股票列表 → [下载] → PDF原文件 → [切分] → PDF分片 → [转换] → MD文件 → [精简] → 知识库


功能模块

模块 功能 输入 输出
下载 (Download) 从巨潮资讯网批量下载年报 PDF,支持沪深北全市场 股票代码列表 PDF 文件
切分 (Split) 按章节智能拆分 PDF(每块目标 100-150 页),含转换前精简(排除封面/目录/模板页) 单个 PDF 多个 PDF 分片
转换 (Convert) 调用 MinerU API 将 PDF 转 Markdown,两阶段并行提交 PDF 分片 MD 文件
精简 (Refine) 9 条规则清洗 MD 内容,提取核心信息 MD 文件 精简 MD
知识库 (WeKnora) 腾讯开源 RAG 框架,MD 入库 + 混合检索 精简 MD 可检索知识库

技术栈

  • 后端:FastAPI + APScheduler + SQLite
  • 转换:MinerU 云端 API(免费 1000 页/天,本地暂停线 3000 页/天)
  • 知识库:WeKnora(默认关闭,配置环境变量启用)
  • 部署:目标 Docker 容器化(Phase 5 未完成)

快速开始

# 环境(Linux)
cd /opt/Project/PDF-ZL
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt

# 配置(无默认密钥,缺失/弱值启动即失败)
# 编辑 .env:MINERU_API_KEY / PDFZL_ADMIN_USER / PDFZL_ADMIN_PASS / PDFZL_JWT_SECRET

# 跑测试
.venv/bin/python -m pytest tests/ -q        # 52 passed

# 启动服务
.venv/bin/python -m uvicorn app.main:app --host 0.0.0.0 --port 8000
# 登录:admin + .env 里配置的 PDFZL_ADMIN_PASS

API 概览

端点 说明
POST /api/auth/login 登录获取 JWT
POST/GET/DELETE /api/tasks 任务创建/列表/删除(删除级联清理磁盘)
POST /api/tasks/{id}/retry 重试任务
GET /api/stocks 股票列表
POST /api/stocks/fetch-latest 拉取全市场 A 股(沪深北)
POST /api/pipeline/start 启动流水线
GET /api/pipeline/quota MinerU 当日配额
POST /api/split/preview 预览拆分方案
POST /api/split/{id} 手动触发切分
POST /api/convert/{id}/retry 手动重启转换(强制模式)
POST /api/refine/{id}/run 手动触发精简
POST /api/kb/ingest / search 知识库入库/检索

完整 API 清单与参数见 docs/DEVELOPMENT.md

项目状态

  • ✅ 后端五大模块全部完成(下载/切分/转换/精简/知识库接入),52 测试全过
  • ✅ 全链路真实跑通:任务 21(光峰 688007)/ 22(澜起 688008)/ 24(东鹏 605499)
  • ✅ 三轮代码审查整改完毕(安全/并发/健壮性:密钥强校验、CORS 收紧、配额账本、登录限速、任务去重等)
  • ⏳ Phase 4 前端(Vue3 + Element Plus)未开始
  • ⏳ Phase 5 Docker 部署未完成
  • ⏳ WeKnora 待部署后配置环境变量真实启用

文档导航

文档 内容
docs/交接_新会话.md 新会话必读:当前状态/快速上手/待办/踩坑记录
docs/DEVELOPMENT.md 开发总纲:架构/数据库/API/关键决策(36 条)
docs/PROGRESS.md 开发进度与修复记录
docs/MODULE_*.md 各模块详细文档(含新手版)
docs/KB_VECTOR_方案.md WeKnora 知识库方案
docs/审查报告_大白话版.md 代码审查问题与修复状态
download/README.md 下载模块脚本用法

说明

  • 真实 API key 存 .env(权限 600),永不入库
  • 根目录 10 份 6880xx_*_2025年年度报告.pdf 是测试样本,勿删
  • 远程仓库:https://github.com/ddonggit/PDF-ZL

About

上市公司年报PDF自动化处理与知识库入库系统(下载→切分→转换→精简→WeKnora)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages