Air Gap 部署#

关于 Air Gap 部署#

该微服务支持在 एयर गैप सिस्टम (也称为 एयर वॉल एयर-गैपिंग 断开连接的网络 )中提供模型服务。

如果微服务在模型缓存中检测到模型配置文件,则微服务可以从缓存中提供该配置文件,而无需再次下载模型配置文件。通过创建模型缓存,您可以在没有任何互联网连接且未连接到 NGC 注册表的情况下运行微服务。

缓存模型配置文件#

在具有互联网访问权限和 NGC 注册表连接的计算机上,执行以下步骤来缓存模型配置文件

  1. 将您的 NGC API 密钥导出为环境变量

    $ export NGC_API_KEY="<nvapi-...>"
    
  2. 为模型缓存创建一个目录

    $ export AIR_GAP_NIM_CACHE=~/.cache/air-gap-nim-cache
    $ mkdir -p "${AIR_GAP_NIM_CACHE}"
    
  3. 可选:确定要缓存的特定模型配置文件

    $ docker run --rm \
      --gpus=all --runtime=nvidia \
      -e NGC_API_KEY \
      -u $(id -u) \
      -v "$AIR_GAP_NIM_CACHE:/opt/nim/.cache/" \
      nvcr.io/nim/nvidia/nemoguard-jailbreak-detect:1.0.0 \
      list-model-profiles
    

    查看输出以确定要缓存的模型配置文件。

  4. 下载要缓存的模型配置文件

    $ docker run --rm \
      --gpus=all --runtime=nvidia \
      -e NGC_API_KEY \
      -u $(id -u) \
      -v "$AIR_GAP_NIM_CACHE:/opt/nim/.cache/" \
      nvcr.io/nim/nvidia/nemoguard-jailbreak-detect:1.0.0 \
      download-to-cache -p <profile-one> [-p <profile-two> -p <...>]
    

    有关命令的更多信息,请参阅 NIM for LLMs 文档中 实用程序 部分。

在 एयर गैप 系统上运行#

在容器退出并且模型配置文件下载完成后,将 एयर गैप 目录 ~/.cache/air-gap-nim-cache 传输到 एयर गैप 系统可访问的路径。在 एयर गैप 系统上执行以下步骤以启动微服务并使用模型缓存

  1. 导出包含模型缓存路径的环境变量

    $ export LOCAL_NIM_CACHE=<path-to-transferred-model-cache>
    
  2. 启动容器

    $ docker run -d \
      --name nemoguard-jailbreakdetect \
      --gpus=all --runtime=nvidia \
      -u $(id -u) \
      -p 8000:8000 \
      -v "$LOCAL_NIM_CACHE:/opt/nim/.cache/" \
      -e NIM_MODEL_PROFILE=<profile-one> \
      nvcr.io/nim/nvidia/nemoguard-jailbreak-detect:1.0.0
    

    与启动微服务的常用命令的主要区别

    • 省略了 NGC_API_KEY 环境变量,因为微服务不下载模型配置文件。

    • 可选:NIM_MODEL_PROFILE 变量指定要运行的模型配置文件。