第 5 章 在断开连接的环境中提供模型的推测


使用断开连接的 OpenShift Container Platform 环境中部署的 Red Hat AI Inference Server,为来自集群持久性存储的语言模型提供服务。

先决条件

  • 您已在堡垒主机上安装了可供断开连接的集群访问的镜像 registry。
  • 您已将模型和 Red Hat AI Inference Server 镜像添加到镜像 registry 中。
  • 您已在断开连接的集群中安装 Node Feature Discovery Operator 和 NVIDIA GPU Operator。

流程

  1. 在断开连接的集群中,使用网络文件系统(NFS)配置持久性存储,并在您配置的持久性存储中提供模型。

    注意

    如需更多信息,请参阅使用 NFS 的持久性存储

  2. 创建 Deployment 自定义资源(CR)。例如,以下 Deployment CR 使用 AI Inference Server 在 CUDA 加速器上提供 Granite 模型。

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: granite
      namespace: rhaiis-namespace
      labels:
        app: granite
    spec:
      replicas: 0
      selector:
        matchLabels:
          app: granite
      template:
        metadata:
          labels:
            app: granite
        spec:
          containers:
            - name: granite
              image: 'registry.redhat.io/rhaiis/vllm-cuda-rhel9@sha256:137ac606b87679c90658985ef1fc9a26a97bb11f622b988fe5125f33e6f35d78'
              imagePullPolicy: IfNotPresent
              command:
                - python
                - '-m'
                - vllm.entrypoints.openai.api_server
              args:
                - '--port=8000'
                - '--model=/mnt/models' 
    1
    
                - '--served-model-name=granite-3.1-2b-instruct-quantized.w8a8'
                - '--tensor-parallel-size=1'
              resources:
                limits:
                  cpu: '10'
                  nvidia.com/gpu: '1'
                requests:
                  cpu: '2'
                  memory: 6Gi
                  nvidia.com/gpu: '1'
              volumeMounts:
                - name: cache-volume
                  mountPath: /mnt/models
                - name: shm
                  mountPath: /dev/shm 
    2
    
          volumes:
            - name: cache-volume
              persistentVolumeClaim:
                claimName: granite-31-w8a8
            - name: shm
              emptyDir:
                medium: Memory
                sizeLimit: 2Gi
          restartPolicy: Always
    1
    您下载的模型应该可从配置的持久卷中的挂载位置获取。
    2
    NVIDIA Collective Communications 库(NCCL)需要 /dev/shm 卷挂载。当 /dev/shm 卷挂载没有设置时,Tensor parallel vLLM 部署会失败。
  3. 为模型推测创建 Service CR。例如:

    apiVersion: v1
    kind: Service
    metadata:
      name: granite
      namespace: rhaiis-namespace
    spec:
      selector:
        app: granite
      ports:
        - protocol: TCP
          port: 80
          targetPort: 8000
  4. 可选。创建 Route CR 以启用对模型的公共访问。例如:

    apiVersion: route.openshift.io/v1
    kind: Route
    metadata:
      name: granite
      namespace: rhaiis-namespace
    spec:
      to:
        kind: Service
        name: granite
      port:
        targetPort: 80
  5. 获取公开路由的 URL:

    $ oc get route granite -n rhaiis-namespace -o jsonpath='{.spec.host}'

    输出示例

    granite-rhaiis-namespace.apps.example.com

  6. 运行以下命令来查询模型:

    curl -X POST http://granite-rhaiis-namespace.apps.example.com/v1/chat/completions \
      -H "Content-Type: application/json" \
      -d '{
        "model": "granite-3.1-2b-instruct-quantized.w8a8",
        "messages": [{"role": "user", "content": "What is AI?"}],
        "temperature": 0.1
      }'
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部