模型网关概述

了解 Bob 本地版如何使用 model-gateway.yaml 和 config.yaml 文件安全地为模型网关访问配置模型端点、凭证和 TLS 证书。

为了实现对外部模型和提供商托管模型的访问,Bob 本地版采用双文件配置方式,将模型路由设置与敏感凭证和证书分离。model-gateway.yaml 文件定义模型端点、提供商配置以及对凭证和证书变量的引用,而 config.yaml 则存储相应的 Secret 值。这种分离方式提升了安全性,简化了凭证管理,并支持跨环境的一致部署。

了解配置文件

为 Bob 本地版配置模型访问需要两个协同工作的配置文件。这种方式将模型配置与敏感信息分开,帮助你安全地管理凭证和证书。

model-gateway.yaml 文件定义模型端点,并引用存储凭证和证书的变量名称。实际的 Secret 值——API 密钥、访问令牌、密码和 TLS 证书——单独存储在 config.yaml 中。

文件用途内容使用时机
model-gateway.yaml(模型路由规格)为模型网关定义模型路由和连接设置。模型端点和提供商路由块;凭证的变量名指针(例如 api_key: env.BOB_AZURE_API_KEY、access_key_id: env.AWS_ACCESS_KEY);TLS CA 证书的变量名指针(例如 ca_cert_pem: env.CA_CERT)。环境变量名可以是任意名称,前提是相同名称已在 bob.modelGateway.secrets 中定义。请勿在此文件中存储实际 Secret。从 config-model-gateway-template.yaml 创建,用于指定模型端点以及凭证和 TLS 证书的变量名。
config.yaml(主安装与 Secrets)存储模型网关使用的实际 Secret 值。映射到 model-gateway.yaml 中定义的变量名的 API 密钥、访问令牌、密码和 PEM 编码的 TLS 证书。在部署前,在 bob.modelGateway.secrets 下填充所需的凭证和证书值。

Secret 的管理方式

你无需在本地工作站上创建或导出环境变量。

运行 Bob 安装时:

  • Bob 读取 config.yaml 中 bob.modelGateway.secrets 下定义的值。
  • 安装过程在 OpenShift 集群中创建一个 Kubernetes Secret。
  • Secret 值被注入到 Bob 推理服务中。
  • 模型网关从 pod 内部的运行时环境中解析 env.<VAR_NAME> 等引用。

这种方式确保敏感信息被安全存储,并与模型配置设置保持分离。

推荐配置工作流

配置 model-gateway.yaml

从提供的模板创建 model-gateway.yaml,并定义:

  • 模型端点
  • 提供商设置
  • 凭证变量引用
  • TLS 证书变量引用

例如:access_key: env.AWS_ACCESS_KEY

配置 config.yaml

从提供的模板创建 config.yaml,并在 bob.modelGateway.secrets 下添加相应的 Secret 值。例如:

bob:
  modelGateway:
    secrets:
      AWS_ACCESS_KEY: "<actual-access-key>"

部署配置

使用已配置的文件安装或更新 Bob。部署时,Bob 从 config.yaml 应用基础设施配置,并从 model-gateway.yaml 加载模型网关配置。

注意:

Bob Operator 管理 Bob 与模型端点之间的连接。底层模型服务基础设施的配置、部署和运维不在 Bob Operator 的职责范围内。

这个主题怎么样?