如要使用 Vertex AI 特徵儲存庫開始線上提供特徵,您必須先在 BigQuery 中設定特徵資料來源,步驟如下:
使用特徵資料建立 BigQuery 資料表或檢視區塊。如要將特徵資料載入 BigQuery 資料表或檢視區塊,請使用資料建立 BigQuery 資料集、建立 BigQuery 資料表,然後將特徵資料從資料集載入資料表。
將特徵資料載入 BigQuery 資料表或檢視區塊後,您必須讓 Vertex AI 特徵商店可存取這個資料來源,才能提供線上服務。您可以透過兩種方式,將資料來源連結至線上服務資源,例如線上商店和特徵檢視畫面例項:
建立特徵群組和特徵,藉此註冊資料來源: 您可以將特徵群組和特徵與線上商店中的特徵檢視畫面執行個體建立關聯。您可以透過下列任一方式設定資料格式:
加入特徵時間戳記欄,將資料格式設為時間序列。Vertex AI 特徵儲存庫只會根據這個資料欄中的特徵時間戳記,提供每個不重複實體 ID 的最新特徵值。
設定資料格式,但不包含特徵時間戳記欄。 Vertex AI 特徵儲存庫會管理時間戳記,並只提供每個不重複實體 ID 的最新特徵值。
直接從資料來源提供特徵,不必建立特徵群組和特徵: 您可以在特徵檢視區中指定資料來源的 URI。 請注意,在這種情況下,您無法將資料格式設為時間序列,也無法在 BigQuery 來源中納入歷來資料。每列必須包含與不重複 ID 相對應的最新特徵值。不支援在不同列中多次出現相同的實體 ID。
由於 Vertex AI 特徵儲存庫可讓您在 BigQuery 中維護特徵資料,並從 BigQuery 資料來源提供特徵,因此不必將特徵匯入或複製到離線商店。
資料來源準備指南
請按照下列規範瞭解結構定義和限制,以便在 BigQuery 中準備資料來源:
在資料來源中加入下列資料欄:
實體 ID 欄:資料來源必須至少有一個實體 ID 欄,且包含
string或int值。這個資料欄的預設名稱為entity_id。您可以選擇為這個資料欄使用其他名稱。這個資料欄中每個值的大小不得超過 4 KB。請注意,您也可以使用多個資料欄的特徵建構實體 ID,藉此指定特徵記錄。在這種情況下,您可以在資料來源中加入多個實體 ID 資料欄。每個實體 ID 欄的名稱不得重複。如果您是透過建立特徵群組來註冊資料來源,請為每個特徵群組設定實體 ID 資料欄。否則,如果直接將資料來源與特徵檢視建立關聯,請設定特徵檢視,指定實體 ID 資料欄。
請注意,您可以在資料來源中加入多個 ID 欄。在這種情況下,每個實體 ID 資料欄的名稱不得重複。您可以設定特徵群組或特徵檢視畫面,使用特徵記錄中每個資料欄的值建構實體 ID。
特徵時間戳記欄:選用。如果您使用特徵群組和特徵註冊資料來源,且需要將資料格式設為時間序列,請加入特徵時間戳記欄。時間戳記資料欄包含
timestamp類型的值。時間戳記資料欄的預設名稱為feature_timestamp。如要使用其他資料欄名稱,請使用time_series參數為特徵群組設定時間戳記資料欄。如果未指定時間戳記資料欄,將資料格式設為時間序列,Vertex AI 特徵儲存庫會管理特徵的時間戳記,並提供最新的特徵值。
如果直接將 BigQuery 資料來源與特徵檢視畫面建立關聯,則不需要
feature_timestamp欄。在這種情況下,資料來源中只能包含最新的特徵值,且 Vertex AI 特徵儲存庫不會查詢時間戳記。嵌入及篩選資料欄:選用。如要在為「最佳化線上放送」(已淘汰) 建立的網路商店中使用嵌入管理功能,資料來源必須包含下列資料欄:
包含
float類型陣列的embedding資料欄。選用:一或多個
string或string陣列類型的篩選資料欄。選填:類型為
int的擁擠程度資料欄。
資料來源中的每一列都是與實體 ID 相關聯的完整特徵值記錄。如果其中一個資料欄缺少特徵值,系統會將其視為空值。
BigQuery 資料表或檢視表的每個資料欄都代表一項特徵。請在不同的資料欄中提供每個特徵的值。如果將資料來源與特徵群組和特徵建立關聯,請將每個資料欄與個別特徵建立關聯。
特徵值支援的資料類型包括
bool、int、float、string、timestamp、這些資料類型的陣列,以及位元組。請注意,在資料同步期間,類型為timestamp的特徵值會轉換為int64。資料來源必須與線上商店執行個體位於同一地區,或位於包含/重疊線上商店地區的多地區。舉例來說,如果網路商店位於
us-central,BigQuery 來源可能位於us-central或US。同步處理特徵檢視表中的資料,再進行線上供應,確保只提供最新的特徵值。如果使用排定的資料同步作業,可能需要在特徵檢視畫面中手動同步資料。 不過,如果您使用「最佳化線上供應」功能持續同步資料,則不需要手動同步資料。