本项目目标为“小窗体验需求”,基于 DeepSeek-OCR-2 模型提供图片转文本(Markdown)能力。模型完整部署在 昇腾 910B NPU 上,通过 docker 与 docker-compose 实现快速体验 OCR 推理服务。
项目目录结构如下:
.
├── app # FastAPI 服务与模型推理逻辑
├── t-unit # 测试样例(包含 URL 与 Base64 测试脚本)
├── deploy # 部署相关代码(模型适配文件)
├── model # 模型及权重文件(下载后放置于此目录)
├── Dockerfile
└── docker-compose.yaml从 atomgit 拉取项目源码:
git clone git@atomgit.com:wuyw/models_inference.git
cd models_inference/deepseek-orc2下载 DeepSeek-OCR-2 模型
models_inference/deepseek-orc2/model/deepseek-ai/DeepSeek-OCR-2/ 下。模型适配文件
deploy/model/modeling_deepseekocr2.py 会在构建镜像时自动复制到模型目录。
docker build -t models_inference_deepseek_orc_2:latest .使用 docker-compose 启动容器:
docker-compose up -d容器启动后进入容器并启动服务:
docker exec -it models_inference_deepseek_orc_2 bash
cd /data/work/app
python main.py服务默认监听端口 8016,宿主机映射端口为 18003。
t-unit 目录,包含网络图片 URL 与 Base64 图片两种测试方式。curl -X POST http://localhost:18003/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-orc2",
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "请提取图片中信息"
},
{
"type": "image_url",
"image_url": {
"url": "https://example.com/test-image.jpg"
}
}
]
}
]
}'# 1. 将图片编码为 base64,并去除换行符
base64 example.jpg | tr -d '\n' > img.b64
# 2. 发送推理请求
curl -X POST http://localhost:18003/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-orc2",
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "请提取图片中信息"
},
{
"type": "image_url",
"image_url": {
"url": "'"$(cat img.b64)"'"
}
}
]
}
]
}'python t-unit/t-local.py