您已可以將多模式輸入傳遞給 Gemini,為您的資料倉儲建立資料模型

來自不同來源的資料倉儲和資料湖中,複雜的分層資料結構可能使資料建模成為一個漫長且容易出錯的過程。為了快速調整和創建滿足不斷變化的業務需求的資料模型,而無需過度修改它們,您需要靈活、模組化且適應性強的資料模型,以因應許多需求。這需要領先的技術、熟練的人員和穩健的方法。

生成式 AI 的進步為應對這些挑戰提供了許多機會。多模式大型語言模型 (LLMs) 可以分析資料湖中的資料範例,包括文字描述、程式碼,甚至現有資料庫的圖像。透過了解這些資料及其關連,LLMs 可以建議甚至自動產生架構佈局,簡化在資料庫中實現資料模型的繁瑣過程,讓開發人員可以專注於更高價值的資料管理任務。

在這篇文章中,我們將引導您了解如何在 BigQuery 中使用多模式 LLMs 來建立資料庫架構。為此,我們將採用實體關係 (ER) 圖的實際範例和資料定義語言 (DDLs) 範例,並分三個步驟建立資料庫架構。

在這次演示中,我們將使用 Data Beans – 一家基於 BigQuery 構建的虛構技術公司,為咖啡銷售商提供 SaaS 平台。Data Beans 利用 BigQuery 與 Vertex AI 的整合來存取 Gemini Vision Pro 1.0 等 Google AI 模型,以分析非結構化資料並將其與結構化資料整合,同時使用 BigQuery 協助進行資料建模和深入分析。

 

STEP1:建立實體關係圖

第一步是使用您最喜歡的建模工具建立 ER 圖,或截取現有的 ER 圖。ER 圖可以包含主鍵和外鍵關係,然後將用為 Gemini Vision Pro 1.0 模型的輸入以建立相關的 BigQuery DDL。

BigQuery

STEP2 : 使用 ER 影像作為輸入並建立提示

接下來,要在 BigQuery 中建立 DDL 語句,請編寫一段提示(Prompt)以將 ER 影像作為輸入。提示需包括 Gemini 模型應遵循的詳細且相關的規則。此外,請確保提示會記取先前迭代中學習到的內容 – 換句話說,就是要確保在實驗和迭代時更新您的提示。這些可以作為模型的範例提供,例如 BigQuery 的有效架構描述。為模型提供一個要遵循的工作範例,將有助於模型建立遵循您所需規則的資料定義 DDL。

現在您就會得到一張 ER 圖的圖像,可以呈現給您的 LLM。

## Prompt to guide the model
llm_erd_prompt=f”””Use BigQuery SQL commands to create the following:
– Create a new BigQuery schema named “{dataset_id}”.
– Use only BigQuery data types. Double and triple check this since it causes a lot of errors.
– Create the BigQuery DDLs for the attached ERD.
– Create primary keys for each table using the ALTER command. Use the “NOT ENFORCED” keyword.
– Create foreign keys for each table using the ALTER command. Use the “NOT ENFORCED” keyword.
– For each field add an OPTIONS for the description.
– Cluster the table by the primary key.
– For columns that can be null do not add “NULL” to the created SQL statement. BigQuery leaves this blank.
– All ALTER TABLE statements should be at the bottom of the generated script.
– The ALTER TABLE statements should be ordered by the primary key statements and then the foreign key statements. Order matters!
– Double check your work especially that you used ONLY BigQuery data types.Previous Errors that have been generated by this script. Be sure to check your work to avoid encountering these.
– Query error: Type not found: FLOAT at [6:12]
– Query error: Table test.company does not have Primary Key constraints at [25:1]## Example for model to influence from
Example:
CREATE TABLE IF NOT EXISTS `{project_id}.{dataset_id}.customer`
(
customer_id INTEGER NOT NULL OPTIONS(description=”Primary key. Customer table.”),
country_id INTEGER NOT NULL OPTIONS(description=”Foreign key: Country table.”),
customer_llm_summary STRING NOT NULL OPTIONS(description=”LLM generated summary of customer data.”),
customer_lifetime_value STRING NOT NULL OPTIONS(description=”Total sales for this customer.”),
customer_cluster_id FLOAT NOT NULL OPTIONS(description=”Clustering algorithm id.”),
customer_review_llm_summary STRING OPTIONS(description=”LLM summary are all of the customer reviews.”),
customer_survey_llm_summary STRING OPTIONS(description=”LLM summary are all of the customer surveys.”)
)
CLUSTER BY customer_id;CREATE TABLE IF NOT EXISTS `{project_id}.{dataset_id}.country`
(
country_id INTEGER NOT NULL OPTIONS(description=”Primary key. Country table.”),
country_name STRING NOT NULL OPTIONS(description=”The name of the country.”)
)
CLUSTER BY country_id;

 

ALTER TABLE `{project_id}.{dataset_id}.customer` ADD PRIMARY KEY (customer_id) NOT ENFORCED;
ALTER TABLE `{project_id}.{dataset_id}.country` ADD PRIMARY KEY (country_id) NOT ENFORCED;

ALTER TABLE `{project_id}.{dataset_id}.customer` ADD FOREIGN KEY (country_id) REFERENCES `{project_id}.{dataset_id}.country`(country_id) NOT ENFORCED;
“””

STEP 3: 呼叫 Gemini Pro 1.0 Vision 模型

在步驟 2 中建立提示後,現在可以使用 ER 圖的圖像作為輸入,來呼叫 Gemini Pro 1.0 Vision 模型以產生輸出(本文第一張圖片的左側)。您可以透過多種方式來完成此操作 – 可以使用 Python 直接從 Colab 筆記本完成,也可以透過 BigQuery ML,運用其與 Vertex AI 的整合:

imageBase64 = convert_png_to_base64(menu_erd_filename)

llm_response = GeminiProVisionLLM(llm_erd_prompt, imageBase64, temperature=.2, topP=1, topK=32)

結語

在這次的示範中,我們看到了多模式 Gemini 模型如何簡化資料和架構的建立。雖然手動編寫提示很好,但當您需要在企業規模上建立數千個資產(例如 DDL)時,這可能是一項艱鉅的任務。利用上述流程,您可以對提示產生進行參數化和自動化,從而顯著加快工作流程並在數千個產生的項目之間提供一致性。您可以在此處找到完整的 Colab Enterprise 筆記本原始碼

BigQuery ML 包含許多新功能,可讓您聰明運用 Gemini Pro。您可以查看這個教學,了解如何將 Google 模型應用於您的資料、部署模型和實作 ML 工作流程 – 所有這些都無需從 BigQuery 中移動資料。最後,您也可以觀看我們製作這次示範的幕後花絮,了解如何直接使用 BigQuery 中的 Gemini 等高級模型構建端到端數據分析和 AI 應用程式。

本文翻譯並改寫自 Google Cloud 官方部落格。希望大家都有透過宏庭科技這篇文章了解到如何透過多模式 LLM 有效率地進行資料建模及架構生成!我們期待能持續將最熱門、最前線的話題帶到您面前。