模型网关概述
了解 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 的职责范围内。