openvinotoolkit/model_server

A scalable inference server for models optimized with OpenVINO™

OpenVINO™ Model Server (OVMS)

是什么 – 一个生产级的 C++ 推理服务器,可将机器学习模型(LLM、视觉-语言模型、经典视觉/分类模型等)通过标准网络 API 暴露。基于 OpenVINO 工具包构建,专为 Intel CPU、GPU 和 NPU 优化。

为何重要 – 它允许您在 OpenAI 兼容的 REST API 或 KServe gRPC API 后端运行生成式 AI 工作负载(文本生成、嵌入、图像生成、语音处理),并利用硬件加速,同时支持连续批处理、流式传输、模型版本控制和热重载等功能。


核心功能

类别 亮点
生成式 AI 支持聊天/补全、嵌入、图像生成、音频(ASR/TTS)的 OpenAI 兼容端点。支持连续批处理、推测解码、结构化输出和 GGUF 模型格式。
经典推理 支持分类、检测、OCR 等的 KServe 兼容 gRPC/REST。支持 TensorFlow、ONNX、PaddlePaddle、OpenVINO IR、MediaPipe 图、Python 执行节点和动态形状。
部署 Docker 镜像(仅 CPU、CPU+GPU/NPU)、Linux/Windows 原生二进制文件、Kubernetes/OpenShift 的 Helm 图表。模型仓库可为本地、S3、GCS、Azure Blob 或 HuggingFace Hub。
管理 模型版本控制、热重载、Prometheus 指标、gRPC 流式传输、C API 用于将服务器嵌入原生应用。
硬件加速 通过 OpenVINO 优化,适用于 Intel Xeon CPU、集成/独立 GPU 和 Intel NPU。

典型用例

  • 在 OpenAI 兼容端点后部署本地 LLM(例如 Qwen3-4B-int4),用于聊天应用、RAG 流水线或内部工具。
  • 通过 KServe gRPC 暴露经典视觉模型(ResNet-50、YOLO、OCR),供下游服务使用,实现微服务架构中的可扩展推理。
  • 运行结合文本、图像和音频模型的多模态代理,使用「AI Agents with MCP servers」演示。
  • 在边缘或本地服务器上部署,当 Intel CPU/GPU 可用且不希望使用云 API 时。

快速入门

  1. 拉取 Docker 镜像
    docker pull openvino/model_server:latest   # 仅 CPU
    # 或
    docker pull openvino/model_server:latest-gpu   # CPU + Intel GPU/NPU
    
  2. 运行模型 – 以 Linux 上的 HuggingFace LLM(Qwen3-4B-int4)为例:
    mkdir -p $HOME/models
    docker run --rm -p 8000:8000 \
      --user $(id -u):$(id -g) -v $HOME/models:/models:rw \
      openvino/model_server:latest \
      --source_model OpenVINO/Qwen3-4B-int4-ov \
      --model_repository_path /models \
      --rest_port 8000
    
  3. 调用 API(Python,OpenAI 客户端):
    from openai import OpenAI
    client = OpenAI(base_url="http://localhost:8000/v1", api_key="unused")
    stream = client.chat.completions.create(
        model="OpenVINO/Qwen3-4B-int4-ov",
        messages=[{"role": "user", "content": "巴黎的三大主要旅游景点是什么?"}],
        stream=True)
    for chunk in stream:
        if chunk.choices[0].delta.content:
            print(chunk.choices[0].delta.content, end="")
    
  4. 经典模型示例 – 通过 KServe gRPC 提供 ResNet-50 IR 模型:
    docker run --rm -d -u $(id -u) -v $(pwd):/models -p 9000:9000 \
      openvino/model_server:latest \
      --model_name resnet --model_path /models/resnet50.xml \
      --mean "[123.675,116.28,103.53]" --scale "[58.395,57.12,57.375]" \
      --layout "NHWC:NCHW" --port 9000
    
    然后使用 Triton 客户端(在 README 中展示)发送图像并读取 top-1 类别。

生态系统与集成

  • 客户端库 – 任何 HTTP/REST 客户端均可使用;官方示例使用 OpenAI Python SDK 和 Triton gRPC 客户端。
  • 模型格式 – TensorFlow、ONNX、PaddlePaddle、OpenVINO IR、MediaPipe、GGUF。
  • 可观测性 – Prometheus 兼容指标端点;日志遵循标准 Docker/Kubernetes 约定。
  • 可扩展性 – 支持 C API 嵌入服务器、Python 执行节点用于自定义预/后处理,以及通过 MediaPipe 图支持自定义流水线。

许可与贡献

  • 许可证:Apache 2.0(参见 README 中的徽章)。
  • 贡献:欢迎在 GitHub 上提交 PR 和问题;提供安全策略。

总结:OpenVINO Model Server 是一个真实、活跃维护的推理服务化平台,连接了 Intel 优化硬件与现代 AI 工作负载——从大语言模型到经典视觉流水线——同时提供熟悉的 OpenAI 和 KServe API,便于集成。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • Dispatch