在 Google Cloud 中使用 Gemini 建構內容

如果您是 Gemini 新手,使用快速入門是上手最快的方式。

不過,隨著生成式 AI 解決方案日趨成熟,您可能需要一個平台,以便端對端建構及部署生成式 AI 應用程式和解決方案。Google Cloud 提供完整的工具生態系統,讓開發人員充分發揮生成式 AI 的強大功能,從應用程式開發的初始階段,到應用程式部署、應用程式代管,以及大規模管理複雜資料。

Google Cloud 的 Vertex AI 平台提供一套機器學習運作工具,可簡化 AI 模型的使用、部署和監控作業,提升效率和可靠性。此外,整合資料庫、DevOps 工具、記錄、監控和 IAM 可提供全面性方法,管理整個生成式 AI 生命週期。

下表概略說明 Google AI 與 Vertex AI 之間的主要差異,協助您決定哪個選項適合您的用途:

功能 Google AI Gemini API Vertex AI Gemini API
Gemini 模型 Gemini 1.5 Flash、Gemini 1.5 Pro、Gemini 1.0 Pro、Gemini 1.0 Pro Vision (已淘汰) Gemini 1.5 Flash、Gemini 1.5 Pro、Gemini 1.0 Pro、Gemini 1.0 Pro Vision、Gemini 1.0 Ultra、Gemini 1.0 Ultra Vision
註冊 Google 帳戶 Google Cloud 帳戶 (包含條款協議和帳單)
驗證 API 金鑰 Google Cloud 服務帳戶
使用者介面遊樂場 Google AI Studio Vertex AI Studio
API 和 SDK 伺服器和行動/網頁用戶端 SDK
  • 伺服器:Python、Node.js、Go、Dart、ABAP
  • 行動/網頁用戶端:Android (Kotlin/Java)、Swift、Web、Flutter
伺服器和行動/網頁用戶端 SDK
  • 伺服器:Python、Node.js、Go、Java、ABAP
  • 行動/網頁用戶端 (透過 Vertex AI for Firebase):Android (Kotlin/Java)、Swift、Web、Flutter
免費使用 API 和 SDK 是,視情況而定 新使用者可享 $300 美元的 Google Cloud 抵免額
配額 (每分鐘要求數) 視型號和定價方案而定 (請參閱詳細資訊) 視型號和地區而定 (請參閱詳細資訊)
企業支援服務 客戶加密金鑰
虛擬私有雲
資料落地
存取權透明化
應用程式代管的可擴充基礎架構
資料庫和資料儲存空間
機器學習運作 Vertex AI 上的完整機器學習運作功能 (例如模型評估、Model Monitoring、Model Registry)

如要瞭解在 Google Cloud 上建構生成式 AI 應用程式時,最適合使用的產品、架構和工具,請參閱「在 Google Cloud 上建構生成式 AI 應用程式」。

從 Google AI 上的 Gemini 遷移至 Vertex AI

如果應用程式使用 Google AI Gemini API,您必須遷移至 Google Cloud 的 Vertex AI Gemini API。

遷移時:

請注意,如果您想直接從正式版行動或網頁應用程式呼叫 Gemini API,請遷移至使用 Firebase 用戶端 SDK 中的 Vertex AI (適用於 Swift、Android、Web 和 Flutter 應用程式)。這些用戶端 SDK 可為正式版行動和網頁應用程式提供重要安全選項和其他功能。

Python:從 Google AI Gemini API 遷移至 Vertex AI Gemini API

下列各節會顯示程式碼片段,協助您將 Python 程式碼遷移至使用 Vertex AI Gemini API。

Vertex AI Python SDK 設定

在 Vertex AI 中,您不需要 API 金鑰。Vertex AI 上的 Gemini 則是使用 IAM 存取權進行管理,可控制使用者、群組或服務帳戶的權限,讓他們透過 Vertex AI SDK 呼叫 Gemini API。

雖然驗證的方式有很多種,但在開發環境中驗證最簡單的方法,就是安裝 Google Cloud CLI,然後使用使用者憑證登入 CLI

如要向 Vertex AI 發出推論呼叫,您必須確保使用者或服務帳戶具備 Vertex AI 使用者角色

用來安裝用戶端的程式碼範例

Google AI Vertex AI
# To install the Python SDK, use this CLI command:
# pip install google-generativeai

import google.generativeai as genai
from google.generativeai import GenerativeModel

API_KEY="API_KEY"
genai.configure(api_key=API_KEY)
        
# To install the Python SDK, use this CLI command:
# pip install google-cloud-aiplatform

import vertexai
from vertexai.generative_models import GenerativeModel, Image

PROJECT_ID = "PROJECT_ID"
REGION = "REGION"  # e.g. us-central1
vertexai.init(project=PROJECT_ID, location=REGION)
        

使用文字提示產生文字的程式碼範例

Google AI Vertex AI
model = GenerativeModel("gemini-1.5-flash")

response = model.generate_content("The opposite of hot is")
print(response.text) #  The opposite of hot is cold.
        
model = GenerativeModel("gemini-1.5-flash")

response = model.generate_content("The opposite of hot is")
print(response.text) #  The opposite of hot is cold.
        

使用文字和圖片生成文字的程式碼範例

Google AI Vertex AI
import PIL.Image

multimodal_model = GenerativeModel("gemini-1.5-flash")

image = PIL.Image.open("image.jpg")

response = multimodal_model.generate_content(["What is this picture?", image])
print(response.text) # A cat is shown in this picture.
        
multimodal_model = GenerativeModel("gemini-1.5-flash")

image = Image.load_from_file("image.jpg")

response = multimodal_model.generate_content(["What is shown in this image?", image])

print(response.text) # A cat is shown in this picture.
        

產生多輪對話聊天的程式碼範例

Google AI Vertex AI
model = GenerativeModel("gemini-1.5-flash")

chat = model.start_chat()

print(chat.send_message("How are you?").text)
print(chat.send_message("What can you do?").text)
        
model = GenerativeModel("gemini-1.5-flash")

chat = model.start_chat()

print(chat.send_message("How are you?").text)
print(chat.send_message("What can you do?").text)
        

刪除未使用的 API 金鑰

如果您不再需要使用 Google AI Gemini API 金鑰,請按照安全性最佳做法刪除金鑰。

刪除 API 金鑰的做法如下:

  1. 開啟 Google Cloud API 憑證頁面。

  2. 找出要刪除的 API 金鑰,然後按一下「動作」圖示。

  3. 選取「Delete API key」(刪除 API 金鑰)

  4. 在「刪除憑證」對話方塊中,選取「刪除」

    刪除 API 金鑰需要幾分鐘的時間才會生效。作業完畢後,凡是使用已刪除 API 金鑰的流量都會遭拒。

後續步驟