DeepSeek-OCR-2部署教程Air-gapped离线环境中模型权重与依赖全离线安装1. 环境准备与离线资源获取在开始部署DeepSeek-OCR-2之前需要准备一个完全离线的环境。这意味着所有依赖包、模型权重和运行环境都需要提前下载并传输到目标机器。1.1 系统要求与基础环境DeepSeek-OCR-2推荐在以下环境中运行操作系统Ubuntu 20.04/22.04 LTS 或 CentOS 8Python版本Python 3.8-3.10GPU支持NVIDIA GPU建议RTX 3080或更高CUDA 11.7内存要求至少16GB系统内存8GB以上GPU显存对于离线环境首先需要在一台有网络连接的机器上准备所有资源# 创建资源收集目录 mkdir -p deepseek-ocr-offline/{models,python-packages,scripts} cd deepseek-ocr-offline1.2 离线下载模型权重DeepSeek-OCR-2的模型权重需要从官方渠道获取。由于是离线环境需要提前下载并传输# 在有网络的机器上下载模型权重示例命令实际以官方提供为准 wget https://example.com/deepseek-ocr-2/model_weights.tar.gz wget https://example.com/deepseek-ocr-2/tokenizer.tar.gz # 验证文件完整性如果官方提供了校验码 echo expected_md5sum model_weights.tar.gz | md5sum -c1.3 下载Python依赖包使用pip下载所有需要的依赖包# 创建requirements.txt文件 cat requirements.txt EOF torch2.0.0 torchvision0.15.0 transformers4.30.0 vllm0.2.0 gradio3.0.0 pdf2image1.16.0 Pillow9.0.0 numpy1.21.0 tqdm4.60.0 EOF # 下载所有依赖包 pip download -r requirements.txt -d python-packages/2. 离线环境部署步骤将准备好的资源传输到离线环境后按照以下步骤进行部署。2.1 传输资源到目标机器使用U盘、内部网络或其他离线方式将资源传输到目标机器# 假设资源已传输到 /opt/deepseek-ocr-offline 目录 cd /opt/deepseek-ocr-offline ls -la # 应该看到 models, python-packages, scripts 等目录2.2 安装Python环境在离线环境中安装Python依赖# 创建Python虚拟环境 python -m venv deepseek-ocr-env source deepseek-ocr-env/bin/activate # 离线安装所有依赖包 pip install --no-index --find-linkspython-packages/ -r requirements.txt2.3 部署模型权重解压并部署模型文件# 创建模型存储目录 mkdir -p /opt/models/deepseek-ocr-2 # 解压模型权重假设已经传输到当前目录 tar -xzf model_weights.tar.gz -C /opt/models/deepseek-ocr-2/ tar -xzf tokenizer.tar.gz -C /opt/models/deepseek-ocr-2/ # 验证模型文件 ls -la /opt/models/deepseek-ocr-2/3. 配置与启动DeepSeek-OCR-23.1 创建启动脚本创建一个启动脚本配置vllm推理引擎和Gradio前端# deepseek_ocr_offline.py import os import argparse from vllm import LLM, SamplingParams from gradio import Interface, inputs, outputs import torch from PIL import Image import numpy as np class DeepSeekOCR2Offline: def __init__(self, model_path): self.model_path model_path self.llm None self.sampling_params SamplingParams(temperature0.1, top_p0.9) def load_model(self): 加载模型 print(正在加载DeepSeek-OCR-2模型...) self.llm LLM( modelself.model_path, tensor_parallel_sizetorch.cuda.device_count(), gpu_memory_utilization0.8, trust_remote_codeTrue ) print(模型加载完成) def process_image(self, image_path): 处理图像并进行OCR识别 if self.llm is None: self.load_model() # 这里应该是实际的图像预处理和推理代码 # 简化示例实际实现需要根据模型要求进行 result OCR识别结果示例文本 return result def create_gradio_interface(): 创建Gradio Web界面 ocr_engine DeepSeekOCR2Offline(/opt/models/deepseek-ocr-2/) def process_file(file): # 处理上传的文件 if file.name.endswith(.pdf): # 处理PDF文件 result PDF处理结果 else: # 处理图像文件 result ocr_engine.process_image(file.name) return result # 创建Gradio界面 interface Interface( fnprocess_file, inputsinputs.File(label上传PDF或图像文件), outputsoutputs.Textbox(labelOCR识别结果), titleDeepSeek-OCR-2 离线版, description在离线环境中运行的高精度OCR识别系统 ) return interface if __name__ __main__: parser argparse.ArgumentParser() parser.add_argument(--share, actionstore_true, help分享到公网) args parser.parse_args() interface create_gradio_interface() interface.launch( server_name0.0.0.0, server_port7860, shareargs.share )3.2 创建系统服务文件为了让服务在后台持续运行创建systemd服务文件# /etc/systemd/system/deepseek-ocr.service [Unit] DescriptionDeepSeek-OCR-2 Offline Service Afternetwork.target [Service] Typesimple Userroot WorkingDirectory/opt/deepseek-ocr-offline EnvironmentPATH/opt/deepseek-ocr-offline/deepseek-ocr-env/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin ExecStart/opt/deepseek-ocr-offline/deepseek-ocr-env/bin/python deepseek_ocr_offline.py Restartalways RestartSec5 [Install] WantedBymulti-user.target3.3 启动服务启用并启动DeepSeek-OCR-2服务# 重新加载systemd配置 systemctl daemon-reload # 启用服务开机自启 systemctl enable deepseek-ocr # 启动服务 systemctl start deepseek-ocr # 查看服务状态 systemctl status deepseek-ocr # 查看日志 journalctl -u deepseek-ocr -f4. 验证与使用4.1 服务访问验证服务启动后可以通过以下方式验证# 检查服务是否监听正确端口 netstat -tlnp | grep 7860 # 测试本地访问 curl http://localhost:7860/ || echo Gradio界面正常 # 如果需要在局域网内访问使用本机IP ip addr show | grep inet4.2 Web界面使用通过浏览器访问Web界面打开浏览器输入http://服务器IP:7860初次加载由于需要加载模型初次访问可能需要1-2分钟上传文件点击上传按钮选择PDF或图像文件开始识别点击提交按钮系统会自动进行OCR识别查看结果识别完成后结果会显示在文本框中4.3 命令行测试也可以通过命令行进行测试# 激活Python环境 source /opt/deepseek-ocr-offline/deepseek-ocr-env/bin/activate # 运行简单测试 python -c from deepseek_ocr_offline import DeepSeekOCR2Offline ocr DeepSeekOCR2Offline(/opt/models/deepseek-ocr-2/) ocr.load_model() print(模型加载测试成功) 5. 常见问题解决5.1 模型加载失败如果模型加载失败检查以下方面# 检查模型文件权限 ls -la /opt/models/deepseek-ocr-2/ # 检查GPU驱动和CUDA nvidia-smi nvcc --version # 检查Python环境 python -c import torch; print(torch.cuda.is_available())5.2 内存不足问题如果遇到内存不足错误# 减少vllm的内存使用 # 修改启动脚本中的gpu_memory_utilization参数 gpu_memory_utilization0.6 # 从0.8降低到0.6 # 监控GPU内存使用 watch -n 1 nvidia-smi5.3 端口冲突处理如果7860端口被占用# 查找占用端口的进程 lsof -i :7860 # 修改启动端口 # 在启动脚本中修改server_port参数 server_port78616. 总结通过本教程您已经成功在离线环境中部署了DeepSeek-OCR-2系统。这个部署方案具有以下特点主要优势完全离线运行不依赖外部网络使用vllm进行推理加速提升处理速度Gradio提供友好的Web界面易于使用系统服务化部署稳定可靠使用建议定期检查模型文件完整性监控GPU内存使用情况根据需要调整并发处理数量保持系统安全更新扩展可能可以集成到现有文档处理流程中支持批量处理功能添加结果导出和后续处理功能这个离线部署方案特别适合对数据安全要求较高的环境如政府机构、金融机构和企业内部系统既能享受先进OCR技术带来的便利又能确保数据完全不外泄。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。
DeepSeek-OCR-2部署教程:Air-gapped离线环境中模型权重与依赖全离线安装
发布时间:2026/5/25 7:18:57
DeepSeek-OCR-2部署教程Air-gapped离线环境中模型权重与依赖全离线安装1. 环境准备与离线资源获取在开始部署DeepSeek-OCR-2之前需要准备一个完全离线的环境。这意味着所有依赖包、模型权重和运行环境都需要提前下载并传输到目标机器。1.1 系统要求与基础环境DeepSeek-OCR-2推荐在以下环境中运行操作系统Ubuntu 20.04/22.04 LTS 或 CentOS 8Python版本Python 3.8-3.10GPU支持NVIDIA GPU建议RTX 3080或更高CUDA 11.7内存要求至少16GB系统内存8GB以上GPU显存对于离线环境首先需要在一台有网络连接的机器上准备所有资源# 创建资源收集目录 mkdir -p deepseek-ocr-offline/{models,python-packages,scripts} cd deepseek-ocr-offline1.2 离线下载模型权重DeepSeek-OCR-2的模型权重需要从官方渠道获取。由于是离线环境需要提前下载并传输# 在有网络的机器上下载模型权重示例命令实际以官方提供为准 wget https://example.com/deepseek-ocr-2/model_weights.tar.gz wget https://example.com/deepseek-ocr-2/tokenizer.tar.gz # 验证文件完整性如果官方提供了校验码 echo expected_md5sum model_weights.tar.gz | md5sum -c1.3 下载Python依赖包使用pip下载所有需要的依赖包# 创建requirements.txt文件 cat requirements.txt EOF torch2.0.0 torchvision0.15.0 transformers4.30.0 vllm0.2.0 gradio3.0.0 pdf2image1.16.0 Pillow9.0.0 numpy1.21.0 tqdm4.60.0 EOF # 下载所有依赖包 pip download -r requirements.txt -d python-packages/2. 离线环境部署步骤将准备好的资源传输到离线环境后按照以下步骤进行部署。2.1 传输资源到目标机器使用U盘、内部网络或其他离线方式将资源传输到目标机器# 假设资源已传输到 /opt/deepseek-ocr-offline 目录 cd /opt/deepseek-ocr-offline ls -la # 应该看到 models, python-packages, scripts 等目录2.2 安装Python环境在离线环境中安装Python依赖# 创建Python虚拟环境 python -m venv deepseek-ocr-env source deepseek-ocr-env/bin/activate # 离线安装所有依赖包 pip install --no-index --find-linkspython-packages/ -r requirements.txt2.3 部署模型权重解压并部署模型文件# 创建模型存储目录 mkdir -p /opt/models/deepseek-ocr-2 # 解压模型权重假设已经传输到当前目录 tar -xzf model_weights.tar.gz -C /opt/models/deepseek-ocr-2/ tar -xzf tokenizer.tar.gz -C /opt/models/deepseek-ocr-2/ # 验证模型文件 ls -la /opt/models/deepseek-ocr-2/3. 配置与启动DeepSeek-OCR-23.1 创建启动脚本创建一个启动脚本配置vllm推理引擎和Gradio前端# deepseek_ocr_offline.py import os import argparse from vllm import LLM, SamplingParams from gradio import Interface, inputs, outputs import torch from PIL import Image import numpy as np class DeepSeekOCR2Offline: def __init__(self, model_path): self.model_path model_path self.llm None self.sampling_params SamplingParams(temperature0.1, top_p0.9) def load_model(self): 加载模型 print(正在加载DeepSeek-OCR-2模型...) self.llm LLM( modelself.model_path, tensor_parallel_sizetorch.cuda.device_count(), gpu_memory_utilization0.8, trust_remote_codeTrue ) print(模型加载完成) def process_image(self, image_path): 处理图像并进行OCR识别 if self.llm is None: self.load_model() # 这里应该是实际的图像预处理和推理代码 # 简化示例实际实现需要根据模型要求进行 result OCR识别结果示例文本 return result def create_gradio_interface(): 创建Gradio Web界面 ocr_engine DeepSeekOCR2Offline(/opt/models/deepseek-ocr-2/) def process_file(file): # 处理上传的文件 if file.name.endswith(.pdf): # 处理PDF文件 result PDF处理结果 else: # 处理图像文件 result ocr_engine.process_image(file.name) return result # 创建Gradio界面 interface Interface( fnprocess_file, inputsinputs.File(label上传PDF或图像文件), outputsoutputs.Textbox(labelOCR识别结果), titleDeepSeek-OCR-2 离线版, description在离线环境中运行的高精度OCR识别系统 ) return interface if __name__ __main__: parser argparse.ArgumentParser() parser.add_argument(--share, actionstore_true, help分享到公网) args parser.parse_args() interface create_gradio_interface() interface.launch( server_name0.0.0.0, server_port7860, shareargs.share )3.2 创建系统服务文件为了让服务在后台持续运行创建systemd服务文件# /etc/systemd/system/deepseek-ocr.service [Unit] DescriptionDeepSeek-OCR-2 Offline Service Afternetwork.target [Service] Typesimple Userroot WorkingDirectory/opt/deepseek-ocr-offline EnvironmentPATH/opt/deepseek-ocr-offline/deepseek-ocr-env/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin ExecStart/opt/deepseek-ocr-offline/deepseek-ocr-env/bin/python deepseek_ocr_offline.py Restartalways RestartSec5 [Install] WantedBymulti-user.target3.3 启动服务启用并启动DeepSeek-OCR-2服务# 重新加载systemd配置 systemctl daemon-reload # 启用服务开机自启 systemctl enable deepseek-ocr # 启动服务 systemctl start deepseek-ocr # 查看服务状态 systemctl status deepseek-ocr # 查看日志 journalctl -u deepseek-ocr -f4. 验证与使用4.1 服务访问验证服务启动后可以通过以下方式验证# 检查服务是否监听正确端口 netstat -tlnp | grep 7860 # 测试本地访问 curl http://localhost:7860/ || echo Gradio界面正常 # 如果需要在局域网内访问使用本机IP ip addr show | grep inet4.2 Web界面使用通过浏览器访问Web界面打开浏览器输入http://服务器IP:7860初次加载由于需要加载模型初次访问可能需要1-2分钟上传文件点击上传按钮选择PDF或图像文件开始识别点击提交按钮系统会自动进行OCR识别查看结果识别完成后结果会显示在文本框中4.3 命令行测试也可以通过命令行进行测试# 激活Python环境 source /opt/deepseek-ocr-offline/deepseek-ocr-env/bin/activate # 运行简单测试 python -c from deepseek_ocr_offline import DeepSeekOCR2Offline ocr DeepSeekOCR2Offline(/opt/models/deepseek-ocr-2/) ocr.load_model() print(模型加载测试成功) 5. 常见问题解决5.1 模型加载失败如果模型加载失败检查以下方面# 检查模型文件权限 ls -la /opt/models/deepseek-ocr-2/ # 检查GPU驱动和CUDA nvidia-smi nvcc --version # 检查Python环境 python -c import torch; print(torch.cuda.is_available())5.2 内存不足问题如果遇到内存不足错误# 减少vllm的内存使用 # 修改启动脚本中的gpu_memory_utilization参数 gpu_memory_utilization0.6 # 从0.8降低到0.6 # 监控GPU内存使用 watch -n 1 nvidia-smi5.3 端口冲突处理如果7860端口被占用# 查找占用端口的进程 lsof -i :7860 # 修改启动端口 # 在启动脚本中修改server_port参数 server_port78616. 总结通过本教程您已经成功在离线环境中部署了DeepSeek-OCR-2系统。这个部署方案具有以下特点主要优势完全离线运行不依赖外部网络使用vllm进行推理加速提升处理速度Gradio提供友好的Web界面易于使用系统服务化部署稳定可靠使用建议定期检查模型文件完整性监控GPU内存使用情况根据需要调整并发处理数量保持系统安全更新扩展可能可以集成到现有文档处理流程中支持批量处理功能添加结果导出和后续处理功能这个离线部署方案特别适合对数据安全要求较高的环境如政府机构、金融机构和企业内部系统既能享受先进OCR技术带来的便利又能确保数据完全不外泄。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。