3.2. 使用 KServe 部署 Llama 模型


要在 OpenShift AI 中使用 Llama Stack 和 retrieve-augmented generation (RAG)工作负载,您必须使用 vLLM 模型服务器部署 Llama 模型,并在标准部署模式中配置 KServe。

先决条件

流程

这些步骤只在 OpenShift AI 版本 2.19 及更新的版本中被支持。

  1. 在 OpenShift AI 仪表板中,进入项目详情页面并点 Models 选项卡。
  2. Single-model serving 平台标题中,点 Select single-model
  3. Deploy model 按钮。

    此时会打开 Deploy model 对话框。

  4. 为您的模型配置部署属性:

    1. Model deployment name 字段中输入部署的唯一名称。
    2. Serving runtime 字段中,从下拉列表中选择 vLLM NVIDIA GPU 服务运行时作为 KServe
    3. Deployment mode 字段中,从下拉列表中选择 Standard
    4. 设置 要部署到 1 的模型服务器副本的数量
    5. Model server size 字段中,从下拉列表中选择 Custom

      • 请求的 CPU 设置为 1 个内核
      • Memory requested 设置为 10 GiB
      • CPU 限制设置为 2 个内核
      • Memory limit 设置为 14 GiB
      • Accelerator 设置为 NVIDIA GPU
      • 加速器数设置为 1
    6. 在 连接类型 中,从下拉列表中选择相关的数据 连接
  5. Additional serving runtime parameters 字段中,指定以下推荐参数:

    --dtype=half
    --max-model-len=20000
    --gpu-memory-utilization=0.95
    --enable-chunked-prefill
    --enable-auto-tool-choice
    --tool-call-parser=llama3_json
    --chat-template=/app/data/template/tool_chat_template_llama3.2_json.jinja
    Copy to Clipboard Toggle word wrap
    1. Deploy

      注意

      模型部署可能需要几分钟,特别是集群中部署的第一个模型。当相关镜像下载时,初始部署可能需要 10 分钟时间。

验证

  1. 验证 kserve-controller-managerodh-model-controller pod 是否正在运行:

    1. 打开一个新的终端窗口。
    2. 通过 CLI 登录您的 OpenShift 集群:
    3. 在 OpenShift Web 控制台右上角,单击您的用户名,然后选择 Copy login command
    4. 登录后,单击 Display token
    5. 使用此令牌命令复制登录,并将它粘贴到 OpenShift 命令行界面(CLI)中

      $ oc login --token=<token> --server=<openshift_cluster_url>
      Copy to Clipboard Toggle word wrap
    6. 输入以下命令验证 kserve-controller-managerodh-model-controller pod 是否正在运行:

      $ oc get pods -n redhat-ods-applications | grep -E 'kserve-controller-manager|odh-model-controller'
      Copy to Clipboard Toggle word wrap
    7. 确认输出类似以下示例:

      kserve-controller-manager-7c865c9c9f-xyz12   1/1     Running   0          4m21s
      odh-model-controller-7b7d5fd9cc-wxy34        1/1     Running   0          3m55s
      Copy to Clipboard Toggle word wrap
    8. 如果没有看到 kserve-controller-managerodh-model-controller pod 之一,则部署可能存在问题。另外,如果 pod 出现在列表中,但 Status 没有设置为 Running,请检查 pod 日志中的错误:

      $ oc logs <pod-name> -n redhat-ods-applications
      Copy to Clipboard Toggle word wrap
    9. 检查 inference 服务的状态:

      $ oc get inferenceservice -n llamastack
      $ oc get pods -n <data science project name> | grep llama
      Copy to Clipboard Toggle word wrap
      • 部署会自动创建以下资源:

        • ServingRuntime 资源。
        • InferenceService 资源、部署、pod 和指向该 pod 的服务。
      • 验证服务器是否正在运行。例如:

        $ oc logs llama-32-3b-instruct-predictor-77f6574f76-8nl4r  -n <data science project name>
        Copy to Clipboard Toggle word wrap

        检查类似以下示例的日志的输出:

        INFO     2025-05-15 11:23:52,750 __main__:498 server: Listening on ['::', '0.0.0.0']:8321
        INFO:     Started server process [1]
        INFO:     Waiting for application startup.
        INFO     2025-05-15 11:23:52,765 __main__:151 server: Starting up
        INFO:     Application startup complete.
        INFO:     Uvicorn running on http://['::', '0.0.0.0']:8321 (Press CTRL+C to quit)
        Copy to Clipboard Toggle word wrap
      • 部署的模型显示在它所部署的项目的 Data Science 项目详情页面上的 Models 选项卡中。
  2. 如果您在查询 /v1/chat/completions API 时在 pod 日志中看到 ConvertTritonGPUToLLVM 错误,且 vLLM 服务器重启或返回 500 Internal Server 错误,请应用以下临时解决方案:

    在部署模型前,从部署对话框中的 Additional serving runtime 参数字段中删除 --enable-chunked-prefill 参数

    这个错误显示类似如下:

    /opt/vllm/lib64/python3.12/site-packages/vllm/attention/ops/prefix_prefill.py:36:0: error: Failures have been detected while processing an MLIR pass pipeline
    /opt/vllm/lib64/python3.12/site-packages/vllm/attention/ops/prefix_prefill.py:36:0: note: Pipeline failed while executing [`ConvertTritonGPUToLLVM` on 'builtin.module' operation]: reproducer generated at `std::errs, please share the reproducer above with Triton project.`
    INFO:     10.129.2.8:0 - "POST /v1/chat/completions HTTP/1.1" 500 Internal Server Error
    Copy to Clipboard Toggle word wrap
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部