在服務端點的模型上設定 AI 閘道
在本文中,您將了解如何在服務端點的模型上設定 Mosaic AI 閘道。
需求
- 外部模型支援的區域中的 Databricks 工作區, 或 布建的輸送量支援區域。
- 提供端點的模型。
- 若要建立外部模型的端點,請完成步驟 1 和 2 建立服務端點的外部模型。
- 若要建立已佈建輸送量的端點,請參閱 布建的輸送量基礎模型 API。
使用UI設定 AI 閘道
本節說明如何使用服務 UI 在端點建立期間設定 AI 閘道。 如果您想要以程式設計方式執行這項操作,請參閱 Notebook 範例。
在端點建立頁面的 [AI 閘道] 區段中,您可以個別設定 AI 閘道功能。 請參閱 支援的功能,以了解哪些功能可用於外部模型服務端點和已配置輸送量端點。
功能 | 如何啟用 | 詳細資料 |
---|---|---|
使用情況追蹤 | 選取 [啟用使用量追蹤] 以啟用數據使用量的追蹤和監控。 | - 您必須啟用 Unity Catalog。 - 帳戶管理員必須先 啟用服務系統數據表架構,才能使用系統數據表: system.serving.endpoint_usage 它會擷取端點每個要求的令牌計數,並 system.serving.served_entities 每個基礎模型的元數據儲存。- 請參閱 使用量追蹤數據表架構 - 只有帳戶管理員有權檢視或查詢 served_entities 數據表或 endpoint_usage 數據表,即使管理端點的用戶必須啟用使用量追蹤。 請參閱 授予系統資料表的存取權- 如果模型未傳回權杖計數,輸入和輸出權杖計數估計為 ( text_length +1)/4。 |
酬載記錄 | 選取 啟用推論資料表,自動將端點的請求和回應記錄到由 Unity 目錄管理的 Delta 資料表中。 | - 您必須在指定的目錄架構中啟用 Unity 目錄,並 CREATE_TABLE 存取權。- 承載記錄數據會在查詢端點后不到一小時填入這些數據表。 - 未記錄大於 1 MB 的酬載。 - 回應酬載會彙總所有傳回區塊的回應。 - 支援串流。 在串流案例中,響應承載會匯總傳回區塊的回應。 |
AI 護欄 | 請參閱在 UI 中設定 AI 護欄。 | - 護欄可防止模型與模型輸入和輸出中偵測到的不安全和有害內容互動。 - 內嵌模型或串流不支援輸出護欄。 |
速率限制 | 您可以強制執行要求速率限制,以管理每個使用者和每個端點的端點流量 | - 速率限制是在每分鐘查詢中定義的 (QPM)。 - 預設值為 每個使用者和每個端點的 沒有限制。 |
流量路由 | 若要在您的端點上設定流量路由,請參閱為端點提供多個外部模型。 |
在UI中設定 AI 護欄
下表顯示如何配置 支援的護欄。
護欄 | 如何啟用 | 詳細資料 |
---|---|---|
安全性 | 選取 [[安全],以啟用保護措施,以防止您的模型與不安全和有害的內容互動。 | |
個人識別資訊 (PII) 偵測 | 選取 PII 偵測 來偵測 PII 數據,例如名稱、位址、信用卡號碼。 | |
有效主題 | 您可以直接在此欄位中輸入主題。 如果您有多個項目,請務必在每個主題之後按 Enter 鍵。 或者,您可以上傳 .csv 或 .txt 檔案。 |
最多可以指定 50 個有效主題。 每個主題不能超過 100 個字元 |
無效的關鍵字 | 您可以直接在此欄位中輸入主題。 如果您有多個項目,請務必在每個主題之後按 Enter 鍵。 或者,您可以上傳 .csv 或 .txt 檔案。 |
最多可以指定 50 個無效的關鍵字。 每個關鍵字不能超過 100 個字元。 |
使用量追蹤數據表架構
system.serving.served_entities
使用量追蹤系統數據表具有下列架構:
欄位名稱 | 描述 | 類型 |
---|---|---|
served_entity_id |
接受服務之執行個體的唯一 ID。 | 字串 |
account_id |
差異共用的客戶帳戶 ID。 | 字串 |
workspace_id |
服務端點的客戶工作區 ID。 | 字串 |
created_by |
建立者的 ID。 | 字串 |
endpoint_name |
服務端點的名稱。 | 字串 |
endpoint_id |
服務端點的唯一 ID。 | 字串 |
served_entity_name |
接受服務之執行個體的名稱。 | 字串 |
entity_type |
接受服務之執行個體的類型。 可以是 FEATURE_SPEC 、EXTERNAL_MODEL 、FOUNDATION_MODEL 或 CUSTOM_MODEL |
字串 |
entity_name |
執行個體的基礎名稱。 與使用者所提供名稱的 served_entity_name 不同。 例如,entity_name 是 Unity 目錄模型的名稱。 |
字串 |
entity_version |
接受服務之執行個體的版本。 | 字串 |
endpoint_config_version |
端點組態的版本。 | INT |
task |
工作類型。 可以是 llm/v1/chat 、llm/v1/completions 或 llm/v1/embeddings 。 |
字串 |
external_model_config |
外部模型的組態。 例如,{Provider: OpenAI} |
STRUCT |
foundation_model_config |
基礎模型的組態。 例如{min_provisioned_throughput: 2200, max_provisioned_throughput: 4400} |
STRUCT |
custom_model_config |
自訂模型的組態。 例如{ min_concurrency: 0, max_concurrency: 4, compute_type: CPU } |
STRUCT |
feature_spec_config |
功能規格的組態。 例如,{ min_concurrency: 0, max_concurrency: 4, compute_type: CPU } |
STRUCT |
change_time |
接受服務之執行個體的變更時間戳記。 | timestamp |
endpoint_delete_time |
執行個體刪除的時間戳記。 端點是存放接受服務之執行個體的容器。 端點刪除之後,接受服務之執行個體也會一併刪除。 | timestamp |
system.serving.endpoint_usage
使用量追蹤系統數據表具有下列架構:
欄位名稱 | 描述 | 類型 |
---|---|---|
account_id |
客戶帳戶 ID。 | 字串 |
workspace_id |
服務端點的客戶工作區 ID。 | 字串 |
client_request_id |
使用者提供的要求識別碼,可以在模型處理的請求本文中指定。 | 字串 |
databricks_request_id |
Azure Databricks 產生的請求識別碼被附加到所有模型服務的請求中。 | 字串 |
requester |
使用者或服務主體的 ID,其權限會用於服務端點的調用要求。 | 字串 |
status_code |
從模型傳回的 HTTP 狀態碼。 | INTEGER |
request_time |
接收到請求的時間戳記。 | timestamp |
input_token_count |
輸入的權杖計數。 | LONG |
output_token_count |
輸出的權杖計數。 | LONG |
input_character_count |
輸入字串或提示的字元計數。 | LONG |
output_character_count |
回應輸出字串的字元計數。 | LONG |
usage_context |
使用者提供的對應包含呼叫端點之使用者或客戶應用程式的識別碼。 請參閱使用 usage_context 進一步定義使用方式。 | MAP |
request_streaming |
要求是否處於串流模式。 | BOOLEAN |
served_entity_id |
用來與 system.serving.served_entities 維度資料表聯結的唯一 ID,以查閱端點及所服務實體的相關資訊。 |
字串 |
使用 usage_context
進一步定義使用方式
當您查詢已啟用使用追蹤的外部模型時,可以提供 usage_context
類型的 Map[String, String]
參數。 使用情境對應會出現在 usage_context
欄的使用追蹤表中。 地圖 usage_context
大小不能超過 10 KiB。
帳戶管理員可以根據使用內容匯總不同的數據列,以取得深入解析,並可將此資訊與承載記錄數據表中的資訊聯結。 例如,您可以新增 end_user_to_charge
至 usage_context
,以便追蹤終端使用者的成本屬性。
{
"messages": [
{
"role": "user",
"content": "What is Databricks?"
}
],
"max_tokens": 128,
"usage_context":
{
"use_case": "external",
"project": "project1",
"priority": "high",
"end_user_to_charge": "abcde12345",
"a_b_test_group": "group_a"
}
}
更新端點上的 AI 閘道功能
您可以在那些之前已啟用 AI 閘道功能的模型服務端點,以及那些未啟用的端點上更新 AI 閘道功能。 AI 閘道設定的更新需要約 20-40 秒才能套用,不過速率限制更新最多可能需要 60 秒的時間。
下列示範如何使用服務 UI,在模型服務端點上更新 AI 閘道功能。
在端點頁面的 [閘道] 區段中,您可以看到已啟用哪些功能。 若要更新這些功能,請按一下 編輯 AI 閘道。
筆記本範例
下列筆記本示範如何以程序設計方式啟用及使用 Databricks 馬賽克 AI 閘道功能來管理及控管來自提供者的模型。 如需 REST API 詳細數據,請參閱下列內容:
啟用 Databricks Mosaic AI 閘道功能筆記本
其他資源
- Mosaic AI 閘道。
- 使用已啟用 AI 閘道的推斷資料表監視服務模型。