链载Ai

标题: DeepSeek-OCR多模态数据分析Agent实战 [打印本页]

作者: 链载Ai    时间: 3 天前
标题: DeepSeek-OCR多模态数据分析Agent实战
DeepSeek-OCR 驱动的多模态数据分析 Agent 实战
本文围绕在数据分析场景中,如何使用 DeepSeek-OCR + LangChain 1.0 搭建一套端到端的多模态数据分析 Agent。开箱即用的项目源码可到项目部署全部免费领取!
项目功能
核心功能一:使用Vllm启动DeepSeek-OCR模型并多线程实现复杂图像、PDF、扫描件、手写笔记、旧试卷等文档高精度一键解析;
核心功能二:支持超长文本上下文压缩,并能接入DeepSeek、Qwen3、GPT 等模型生成详细的分析报告,并实时输出可视化报表;
核心功能三:动态可视化报表生成,支持多轮追问并从不同维度输出BI大屏;
应用场景
包括但不限于:
技术方案
在数据分析领域, OCR(光学字符识别)+ 计算机视觉技术主要涉及的是图表识别与重构,核心处理流程如下:
输入:图表图片/ PDF多模态文件

【结构检测】识别坐标轴、图例、标题位置

【OCR提取】读取文字:轴标签、刻度值、数据标签

【图形识别】检测柱子、折线、点的位置和大小

【数据计算】根据像素位置和坐标刻度反推数值

【重新绘制】用提取的数据重新生成图表
我们通过「vLLM 推理加速 + DeepSeek-OCR 页面级解析 + 智能切分并发结构化」三项手段,解决AI数据分析中的三大难题:
在实操中,其中超长上下文是影响效果的主要瓶颈。我们采用“切分-并发-结构化”的三步法来解决:
痛点表现:
三步解决:
  1. 智能切分:按章节/页码/锚点切片,保证片段自洽并携带索引;
  2. 并发分析:对每个切片并发抽取“摘要、表格/图表、关键指标”;
  3. 结构化存储:写入统一 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→结构化→可视化流程
OCR推理
simple_ocr_client.py
DeepSeek-VL推理服务(运行在 GPU 服务器)
结构化分析
Information_structuring.py
使用LLM提取表格、要点、摘要
可视化
visualizer.py
生成 ECharts 交互式报告
系统部署
扫描下方二维码添加小助理免费领取全部项目源码!还有更多项目等你来挖掘!

环境配置要求
组件
版本要求
说明
Python
≥ 3.10
推荐 3.11
CUDA
≥ 12.1
DeepSeek-VL 需要GPU支持
GPU显存
≥ 16GB
推荐 24GB+
系统内存
≥ 16GB
推荐 32GB+
创建虚拟环境并安装依赖
创建并激活虚拟环境,执行
# 创建新的虚拟环境
condacreate -n deepseek_ocr python=3.11-y

# 激活环境
conda activate deepseek_ocr
安装项目依赖,执行
cd backend/DeepSeek-OCR-vllm
pipinstall-r requirements.txt
配置.env
按照如下说明配置.env服务:
# 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可看到
启动前端服务
接下来进入前端目录,安装Node.js依赖:
#进入前端目录
cd ./frontend
#安装依赖(首次运行需要,耗时约2-5分钟)
npm install
#启动前端服务
npm run dev
成功启动后,打开浏览器访问http://localhost:3000,即可看到智能分析系统的前端界面。
结语
本实战以 DeepSeek-OCR 为核心,配合 vLLM 推理加速与 LangChain 1.0 的工作流编排,贯通了“识别 → 切片 → 结构化 → 检索 → 生成 → 可视化”的端到端链路,显著提升了复杂文档的抽取质量与分析效率。






欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5