分享方式:


在服務端點的模型上設定 AI 閘道

在本文中,您將了解如何在服務端點的模型上設定 Mosaic AI 閘道

需求

使用 UI 設定 AI 閘道

本節說明如何使用服務 UI 在端點建立期間設定 AI 閘道。

如果您想要以程式設計方式執行這項操作,請參閱 Notebook 範例

在端點建立頁面的 [AI 閘道] 區段中,您可以個別設定下列 AI 閘道功能:

功能 如何啟用 詳細資料
使用情況追蹤 選取 [啟用使用量追蹤] 以啟用資料使用計量的追蹤和監視。 - 您必須開啟 Unity 目錄。
- 帳戶管理員在使用系統資料表之前,必須先啟用服務系統資料表結構描述:會擷取端點每個要求的權杖計數的 system.serving.endpoint_usage,以及會儲存每個外部模型的中繼資料的 system.serving.served_entities
- 請參閱使用量追蹤資料表結構描述
- 只有帳戶管理員有權檢視或查詢 served_entities 資料表或 endpoint_usage 資料表,即使管理端點的使用者必須啟用使用量追蹤。 請參閱授與系統資料表的存取權
- 如果模型未傳回權杖計數,輸入和輸出權杖計數估計為 (text_length+1)/4。
酬載記錄 選取 [啟用推斷資料表],將端點的要求和回應自動記錄到 Unity 目錄所管理的差異資料表。 - 您必須在指定的目錄結構描述中啟用 Unity 目錄和 CREATE_TABLE 存取。
- AI 閘道所啟用的推斷數據表具有不同於 針對服務自定義模型之端點的模型所建立的推斷數據表 。 請參閱已啟用 AI 閘道的推斷資料表結構描述
- 在查詢端點後不到一小時,酬載記錄資料會填入這些資料表。
- 未記錄大於 1 MB 的酬載。
- 回應酬載會彙總所有傳回區塊的回應。
- 支援串流。 在串流案例中,回應酬載會彙總傳回區塊的回應。
AI 護欄 請參閱在 UI 中設定 AI 護欄 - 護欄可防止模型與模型輸入和輸出中偵測到的不安全和有害內容互動。
- 內嵌模型或串流不支援輸出護欄。
速率限制 您可以強制執行要求速率限制,以管理每個使用者和每個端點的端點流量 - 速率限制是在每分鐘查詢中定義的 (QPM)。
- 每個使用者和每個端點的預設值為沒有限制
流量路由 若要在您的端點上設定流量路由,請參閱為端點提供多個外部模型

設定 AI 閘道功能

在UI中設定 AI 護欄

下表顯示如何設定支援的護欄

護欄 如何啟用 詳細資料
安全性 選取 [安全] 以啟用保護功能,以防止您的模型與不安全和有害的內容互動。
個人識別資訊 (PII) 偵測 選取 PII 偵測,以偵測 PII 資料,例如名稱、位址、信用卡號碼。
有效主題 您可以直接在此欄位中輸入主題。 如果您有多個項目,請務必在每個主題之後按 Enter 鍵。 或者,您可以上傳 .csv.txt 檔案。 最多可以指定 50 個有效主題。 每個主題不能超過 100 個字元
無效的關鍵字 您可以直接在此欄位中輸入主題。 如果您有多個項目,請務必在每個主題之後按 Enter 鍵。 或者,您可以上傳 .csv.txt 檔案。 最多可以指定 50 個無效的關鍵字。 每個關鍵字不能超過 100 個字元。

設定 AI 護欄功能

使用量追蹤資料表結構描述

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_SPECEXTERNAL_MODELFOUNDATION_MODELCUSTOM_MODEL 字串
entity_name 執行個體的基礎名稱。 與使用者所提供名稱的 served_entity_name 不同。 例如,entity_name 是 Unity 目錄模型的名稱。 字串
entity_version 接受服務之執行個體的版本。 字串
endpoint_config_version 端點組態的版本。 INT
task 工作類型。 可以是 llm/v1/chatllm/v1/completionsllm/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 進一步定義使用方式

當您查詢已啟用使用追蹤的外部模型時,可以提供 Map[String, String] 類型的 usage_context 參數。 使用情境對應會出現在使用追蹤資料表的 usage_context 資料行中。 帳戶管理員可以根據使用情境彙總不同的資料列,以取得深入見解,並可將此資訊與酬載記錄資料表中的資訊聯結。 例如,您可以新增 end_user_to_chargeusage_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 閘道開啟的推斷資料表具有下列結構描述:

資料行名稱 描述 類型
request_date 收到模型服務要求的 UTC 日期。 日期
databricks_request_id Azure Databricks 產生的要求識別碼附加至所有服務要求的模型。 字串
client_request_id 選擇性客戶端產生的要求識別碼,可在服務要求主體的模型中指定。 字串
request_time 接收到請求的時間戳記。 timestamp
status_code 從模型傳回的 HTTP 狀態碼。 INT
sampling_fraction 要求已縮小取樣之事件使用的取樣分數。 這個值介於 0 到 1 之間,其中 1 表示包含 100% 的傳入要求。 DOUBLE
execution_duration_ms 模型執行推斷的毫秒數。 這不包括額外的網路等待時間,而且只代表模型產生預測所花費的時間。 BIGINT
request 傳送至模型服務端點的原始要求 JSON 主體。 字串
response 模型服務端點傳回的原始回覆 JSON 主體。 字串
served_entity_id 受服務實體的唯一 ID。 字串
logging_error_codes ARRAY
requester 使用者或服務主體的 ID,其權限會用於服務端點的調用要求。 字串

更新端點上的 AI 閘道功能

您可以在先前啟用的端點和未啟用端點的模型上更新 AI 閘道功能。 AI 閘道設定的更新需要約 20-40 秒才能套用,不過速率限制更新最多可能需要 60 秒的時間。

下列示範如何使用服務 UI,在模型服務端點上更新 AI 閘道功能。

在端點頁面的 [閘道] 區段中,您可以看到已啟用哪些功能。 若要更新這些功能,請按下 [編輯 AI 閘道]

更新 AI 閘道功能

筆記本範例

下列筆記本示範如何以程式設計方式啟用及使用 Databricks Mosaic AI 閘道功能來管理及控管來自提供者的模型。 如需 REST API 詳細數據,請參閱下列內容:

啟用 Databricks Mosaic AI 閘道功能筆記本

取得筆記本

其他資源