模型閘道概覽
了解 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(主安裝與 Secret) | 儲存模型閘道使用的實際 Secret 值。 | API 金鑰、存取權杖、密碼和 PEM 編碼的 TLS 憑證,對應到 model-gateway.yaml 中定義的變數名稱。 | 在部署之前,在 bob.modelGateway.secrets 下填入所需的憑證和憑證值。 |
Secret 的管理方式
你不需要在本地工作站上建立或匯出環境變數。
當你執行 Bob 安裝時:
- Bob 讀取
config.yaml中bob.modelGateway.secrets定義的值。 - 安裝程序在 OpenShift 叢集中建立 Kubernetes Secret。
- Secret 值被注入到 Bob Inference 服務中。
- 模型閘道從 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 的範疇之內。