DeepSeek-OCR 驱动的多模态数据分析 Agent 实战本文围绕在数据分析场景中,如何使用 DeepSeek-OCR + LangChain 1.0 搭建一套端到端的多模态数据分析 Agent。开箱即用的项目源码可到项目部署全部免费领取!核心功能一:使用Vllm启动DeepSeek-OCR模型并多线程实现复杂图像、PDF、扫描件、手写笔记、旧试卷等文档高精度一键解析;核心功能二:支持超长文本上下文压缩,并能接入DeepSeek、Qwen3、GPT 等模型生成详细的分析报告,并实时输出可视化报表;核心功能三:动态可视化报表生成,支持多轮追问并从不同维度输出BI大屏;- 金融投研与财报解析:基金年报、季报、IPO 招股书结构化提取与可视化洞察。
- 企业经营分析:收入、利润、现金流、费用结构的趋势与对比分析与BI呈现。
- 政务与审计:规章制度、预算执行、公共项目报告的证据抽取与要点总结。
- 科研与论文:图表重构、公式与结论抽取,辅助综述与数据复现与再分析。
- 合同与合规:条款聚合、风险条目识别、金额与日期要点检索与审阅。
在数据分析领域, OCR(光学字符识别)+ 计算机视觉技术主要涉及的是图表识别与重构,核心处理流程如下:输入:图表图片/ PDF多模态文件
↓
【结构检测】识别坐标轴、图例、标题位置
↓
【OCR提取】读取文字:轴标签、刻度值、数据标签
↓
【图形识别】检测柱子、折线、点的位置和大小
↓
【数据计算】根据像素位置和坐标刻度反推数值
↓
【重新绘制】用提取的数据重新生成图表
我们通过「vLLM 推理加速 + DeepSeek-OCR 页面级解析 + 智能切分并发结构化」三项手段,解决AI数据分析中的三大难题:- 解决多模态混排难题:DeepSeek-OCR 精准识别图片/表格/文字/公式,并统一转为 Markdown;
- 解决上下文超长难题:智能切分 + 并发抽取 + 统一 JSON Schema,形成紧凑、可检索的上下文;
- 解决可视化解释难题:基于知识库重绘 ECharts 图表,并生成可交互的结论与说明。
在实操中,其中超长上下文是影响效果的主要瓶颈。我们采用“切分-并发-结构化”的三步法来解决:- 一份50页PDF可能产生10万字符,直接喂给 LLM 会超窗且稀释关键信息;
- 表格、数字、结论混杂在文字中,难以快速抽取与对齐;
- 智能切分:按章节/页码/锚点切片,保证片段自洽并携带索引;
- 并发分析:对每个切片并发抽取“摘要、表格/图表、关键指标”;
- 结构化存储:写入统一 JSON Schema,支持后续检索与拼接生成。
这里我们以一个基金的PDF报告为例,更直观的展示从文档到可视化报告的端到端流程┌─────────────────────────────────────────────────┐
│ 输入:PDF文档 + 用户问题 │
│ "分析2024年财务报告,重点关注收入和利润" │
└──────────────────┬──────────────────────────────┘
↓
【第1步:文档识别】
DeepSeek-OCR API
↓
输出:Markdown文本(10万字符)
↓
【第2步:智能切片】
按标题分割为30个块
↓
【第3步:并发结构化提取】
提取:摘要 + 表格 + 关键点
耗时:(并发)
↓
【第4步:知识库构建】
压缩为紧凑的上下文(2万字符)
↓
【第5步:LLM生成报告】
输出:HTML + Title + Summary
↓
【第6步:保存展示】
浏览器打开查看交互式报告
↓
┌──────────────────┴──────────────────────────────┐
│ 输出:交互式HTML报告 + 文字分析摘要 │
│ -7+ 个可视化图表(ECharts) │
│ -3-5条核心洞察要点 │
│ - 支持交互、导出、分享 │
└─────────────────────────────────────────────────┘
扫描下方二维码添加小助理免费领取全部项目源码!还有更多项目等你来挖掘!DataAnalysis/ # 项目根目录
├── 📁 backend/ # 后端服务层
│ ├── Data_analysis/
│ │ ├── DeepSeek-OCR-vllm/ # OCR服务
│ │ │ ├── backend_integration_api.py # 🔥 主服务入口
│ │ │ ├── simple_ocr_client.py # OCR推理服务
│ │ │ ├── config.py # OCR配置
│ │ │ └── deepseek_ocr.py # DeepSeek-VL模型封装
│ │ ├── backwark/ # 数据分析核心
│ │ │ ├── Information_structuring.py # 信息结构化
│ │ │ ├── visualizer.py # 可视化生成器
│ │ │ └── pdf_exporter.py # PDF导出
│ │ └── mock_visualizer.py # 测试用模拟器
│ └──10华夏收入混合型证券投资基金2024年年度报告.pdf # 示例文档
│
└──/tmp/ocr_results/ # 临时结果目录
├── status_*.json # 任务状态
├── *_analyzed.json # 结构化结果
└── answer_*.html # 可视化报告
| | |
| backend_integration_api.py | FastAPI服务,协调OCR→结构化→可视化流程 |
| | DeepSeek-VL推理服务(运行在 GPU 服务器) |
| Information_structuring.py | |
| | |
扫描下方二维码添加小助理免费领取全部项目源码!还有更多项目等你来挖掘!# 创建新的虚拟环境
condacreate -n deepseek_ocr python=3.11-y
# 激活环境
conda activate deepseek_ocr
cd backend/DeepSeek-OCR-vllm
pipinstall-r requirements.txt
# DeepSeek-OCR 配置
DEEPSEEK_MODEL_PATH=/home/data/nongwa/workspace/model/OCR/DeepSeek-OCR
DEEPSEEK_OCR_URL=http://192.168.110.131:8707/ocr
DEEPSEEK_OCR_HOST=0.0.0.0
DEEPSEEK_OCR_PORT=8707
# 数据分析配置
DATA_ANALYSIS_BASE_SIZE=1024
DATA_ANALYSIS_IMAGE_SIZE=640
DATA_ANALYSIS_CROP_MODE=true
DATA_ANALYSIS_PROMPT="<image>\n<|grounding|>Convert the document to markdown."
# 信息结构化配置
QWEN_TOKENIZER_PATH=/home/data/nongwa/workspace/Data_analysis/Qwen-tokenizer
ANALYSIS_CHUNK_SIZE=1500
ANALYSIS_MAX_WORKERS=10
ANALYSIS_API_KEY=sk-xxx
ANALYSIS_API_BASE=https://dashscope.aliyuncs.com/compatible-mode/v1
ANALYSIS_MODEL_NAME=qwen3-max
# 可视化配置
VISUALIZER_API_KEY=sk-xxx
VISUALIZER_API_BASE=https://dashscope.aliyuncs.com/compatible-mode/v1
VISUALIZER_MODEL_NAME=qwen3-max
# API服务配置
API_HOST=0.0.0.0
API_PORT=8708
API_DEBUG=false
API_RELOAD=false
# 文件存储配置
UPLOAD_DIR=/home/MuyuWorkSpace/03_DataAnalysis/backend/Data_analysis/output/ocr_uploads
RESULTS_DIR=/home/MuyuWorkSpace/03_DataAnalysis/backend/Data_analysis/output/ocr_results
TEMP_DIR=/home/MuyuWorkSpace/03_DataAnalysis/backend/Data_analysis/output/ocr_temp
# 文件处理限制
MAX_FILE_SIZE_MB=100
SUPPORTED_EXTENSIONS=.jpg,.jpeg,.png,.pdf,.txt,.md
# 并发和性能配置
MAX_CONCURRENT_REQUESTS=5
REQUEST_TIMEOUT=300
CLEANUP_INTERVAL_HOURS=24
# 开发环境配置
ENVIRONMENT=development
LOG_LEVEL=info
#确保在 deepseek_ocr 虚拟环境中
conda activate deepseek_ocr
#进入项目目录
cd /home/MuyuWorkSpace/03_DataAnalysis/backend/Data_analysis/DeepSeek-OCR-vllm
#启动主服务
python backend_integration_api.py
成功启动后,打开浏览器访问:http://localhost:8708/docs可看到#进入前端目录
cd ./frontend
#安装依赖(首次运行需要,耗时约2-5分钟)
npm install
#启动前端服务
npm run dev
成功启动后,打开浏览器访问http://localhost:3000,即可看到智能分析系统的前端界面。本实战以 DeepSeek-OCR 为核心,配合 vLLM 推理加速与 LangChain 1.0 的工作流编排,贯通了“识别 → 切片 → 结构化 → 检索 → 生成 → 可视化”的端到端链路,显著提升了复杂文档的抽取质量与分析效率。