neural-maze/production-ocr-course

Build, deploy, and scale a production-grade OCR pipeline using Rust, vLLM, Redis, KEDA, and Kubernetes.

解决的问题

本课程超越了简单的 OCR 教程(仅调用 API 并获取文本)。它教你构建一个完整的、生产级的流水线,不仅能读取文本,还能真正理解文档——包括图表、表格和布局。它不依赖大型昂贵模型,而是使用小型语言模型(Qwen 3.5)以较低成本实现高精度 OCR。课程还涉及在现实世界中运行此类系统的难点:扩展以处理突发工作负载、保护流水线安全,以及使其可供 AI 代理使用。

工作原理

你在 Kubernetes(AKS 或 GKE)上构建一个事件驱动的 OCR 系统。文件通过高并发 Rust 网关进入,网关将其存储在 Redis 中并排队任务。KEDA 自动缩放器监控队列并按需启动资源。消费者工作器(在 T4 GPU 上运行)使用布局检测器(PP-DocLayoutV3)查找语义区域,如段落、表格和图表。然后,它将裁剪后的图像发送到 vLLM 服务器(在 A100 GPU 上运行),该服务器使用 Qwen 3.5 生成文本。整个过程使用零拷贝共享内存交接(/dev/shm)以避免磁盘瓶颈。最后,系统封装在 MCP 服务器中,使 Claude Code 等 AI 代理可以原生使用。

适用对象

本课程面向 ML/AI 工程师和平台工程师,他们已了解如何调用 OCR API,但希望了解在生产环境中运行 OCR 所需的条件。课程涵盖 GPU 节点池、自动缩放经济学、网络安全以及高吞吐量服务生成模型背后的系统设计权衡。

亮点

  • 真实生产部署:你在 Kubernetes 上部署完整流水线,并为不同任务使用独立节点池。
  • SLM 驱动的 OCR:使用 Qwen 3.5(4B)理解图表、手写和上下文——不仅仅是提取平面文本。
  • 高吞吐量:借助 vLLM 的连续批处理和 Multi-Token Prediction,实现每秒 1.86 页。
  • 自动缩放:KEDA 独立将 T4 和 A100 节点池从零扩展到突发负载。
  • 安全优先:流水线锁定在内部负载均衡器和企业 API 网关之后,不公开暴露。
  • 代理就绪:作为 MCP 服务器暴露,允许 AI 代理直接使用。

相关

  • 项目
  • 项目
  • 项目
  • 项目