您可以將圖片新增至 Gemini 要求,執行涉及瞭解所附圖片內容的工作。本頁說明如何使用Google Cloud 控制台和 Vertex AI API,在 Vertex AI 中將圖片新增至 Gemini 的要求。
支援的模型
下表列出支援圖像理解功能的模型:
型號 | 媒體詳細資料 | MIME 類型 |
---|---|---|
Gemini 2.5 Flash-Lite |
|
|
Gemini 2.0 Flash 搭配圖片產生功能 |
|
|
Gemini 2.5 Pro |
|
|
Gemini 2.5 Flash |
|
|
Gemini 2.0 Flash |
|
|
Gemini 2.0 Flash-Lite |
|
|
配額指標為 generate_content_video_input_per_base_model_id_and_resolution
。
如需 Gemini 模型支援的語言清單,請參閱模型資訊 Google 模型。如要進一步瞭解如何設計多模態提示,請參閱「設計多模態提示」。如果您想直接從行動和網頁應用程式使用 Gemini,請參閱 Swift、Android、Web、Flutter 和 Unity 應用程式的 Firebase AI Logic 用戶端 SDK。
在要求中加入圖片
您可以在向 Gemini 提出的要求中加入單張或多張圖片。
單一圖片
下列各分頁中的程式碼範例會顯示不同的圖片內容辨識方法。這個範例可搭配所有 Gemini 多模態模型使用。
控制台
如要使用 Google Cloud 控制台傳送多模態提示,請按照下列步驟操作:在 Google Cloud 控制台的 Vertex AI 專區中,前往「Vertex AI Studio」頁面。
按一下「開啟任意形式文字」。
選用步驟:設定模型和參數:
- 模型:選取模型。
- 區域:選取要使用的區域。
溫度:使用滑桿或文字方塊輸入溫度值。
溫度會在應用
topP
和topK
時,用於回覆產生期間的取樣。溫度參數會決定選取詞元時的隨機程度。如果您想藉由提示生成較不具開放性和創意性的回覆,建議調低溫度參數。另一方面,如果溫度參數較高,則可能產生較多樣化或有創意的結果。如果溫度參數為0
,系統一律會選取可能性最高的詞元。在這種情況下,系統會根據特定提示提供的回覆,但仍可能出現少量變化。如果模型的回覆太普通、太短或提供了備用回覆,再試試看調高溫度參數。
輸出符號限制:使用滑桿或文字方塊輸入輸出上限值。
回覆內可以生成的符記數量上限。一個符記約為四個字元。100 個符記大約對應 60 到 80 個字詞。
如要取得較短的回覆,請指定較低的值;如要取得較長的回覆,請調高此值。
新增停止序列:選用。輸入停止序列,這是一系列包含空格的字元。如果模型遇到停止序列,回應產生作業就會停止。回應中不包含停靠點序列,且最多可新增五個停靠點序列。
選用步驟:如要設定進階參數,請按一下「Advanced」,然後按照下列步驟進行設定:
按一下即可展開進階設定
Top-K:使用滑桿或文字方塊輸入 Top-K 的值。 (Gemini 1.5 不支援)。
「Top-K」會影響模型選取輸出符記的方式。如果「前 K 個」設為1
,代表下一個所選詞元是模型詞彙表的所有詞元中可能性最高者 (也稱為「貪婪解碼」)。如果「前 K 個」設為3
,則代表模型會依據溫度參數,從可能性最高的 3 個詞元中選取下一個詞元。在每個符記選取步驟中,模型會對機率最高的「Top-K」符記取樣,接著進一步根據「Top-P」篩選詞元,最後依 temperature 選出最終詞元。
如要取得較不隨機的回覆,請指定較低的值;如要取得較隨機的回覆,請調高此值。
- Top-P:使用滑桿或文字方塊輸入 top-P 的值。
模型會按照可能性最高到最低的順序選取符記,直到所選符記的可能性總和等於 Top-P 值。如要讓結果的變化性降到最低,請將 Top-P 設為
0
。 - 回應數量上限:使用滑桿或文字方塊輸入要產生的回應數量。
- 逐句回覆:啟用此選項後,系統會逐句顯示回覆。
- 安全性篩選器門檻:選取可能有害回應的門檻。
- 啟用建立基準:系統不支援在多模態提示中建立基準。
按一下「插入媒體」,然後選取檔案來源。
上傳
選取要上傳的檔案,然後按一下「開啟」。
使用網址上傳
輸入要使用的檔案網址,然後按一下「插入」。
Cloud Storage
選取要匯入的值區,然後從該值區選取檔案,然後按一下「選取」。
Google 雲端硬碟
- 請選擇帳戶,並在首次選取這個選項時,授權 Vertex AI Studio 存取您的帳戶。您可以上傳多個檔案,總大小上限為 10 MB。單一檔案大小不得超過 7 MB。
- 按一下要新增的檔案。
按一下 [選取]。
檔案縮圖會顯示在「提示」窗格中。系統也會顯示符號總數。如果提示資料超過符記限制,系統會截斷符記,且不會納入資料處理作業。
在「提示」窗格中輸入文字提示。
選用:如要查看「符記 ID 到文字」和「符記 ID」,請按一下「提示」窗格中的「符記數量」。
按一下「提交」。
選用:如要將提示詞儲存至「我的提示詞」,請按一下
「儲存」。選用:如要取得提示的 Python 指令碼或 curl 指令,請按一下
「Get code」。
Gen AI SDK for Python
安裝
pip install --upgrade google-genai
詳情請參閱 SDK 參考說明文件。
設定環境變數,以便在 Vertex AI 中使用 Gen AI SDK:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
Gen AI SDK for Go
瞭解如何安裝或更新 Gen AI SDK for Go。
詳情請參閱 SDK 參考說明文件。
設定環境變數,以便在 Vertex AI 中使用 Gen AI SDK:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
Gen AI SDK for Node.js
安裝
npm install @google/genai
詳情請參閱 SDK 參考說明文件。
設定環境變數,以便在 Vertex AI 中使用 Gen AI SDK:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
Gen AI SDK for Java
瞭解如何安裝或更新 Gen AI SDK for Java。
詳情請參閱 SDK 參考說明文件。
設定環境變數,以便在 Vertex AI 中使用 Gen AI SDK:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
REST
設定環境後,您可以使用 REST 測試文字提示。以下範例會將要求傳送至發布商模型端點。
您可以加入儲存在 Cloud Storage 中的圖片,或使用 base64 編碼的圖片資料。Cloud Storage 中的圖片
使用任何要求資料之前,請先替換以下項目:
PROJECT_ID
:您的專案 ID。FILE_URI
:要納入提示中的檔案 URI 或網址。可接受的值包括:- Cloud Storage 值區 URI:物件必須是公開可讀,或是位於發出要求的 Google Cloud 專案中。
gemini-2.0-flash
和gemini-2.0-flash-lite
的大小限制為 2 GB。 - HTTP 網址:檔案網址必須可供大眾讀取。每個要求最多可指定一個影片檔案、一個音訊檔案和最多 10 個圖片檔案。音訊檔案、影片檔案和文件不得超過 15 MB。
- YouTube 影片網址:YouTube 影片必須屬於您用來登入 Google Cloud 控制台的帳戶,或是公開的影片。每個要求僅支援一個 YouTube 影片網址。
指定
fileURI
時,您也必須指定檔案的媒體類型 (mimeType
)。如果啟用 VPC Service Controls,系統就不會支援為fileURI
指定媒體檔案網址。如果 Cloud Storage 中沒有圖片檔案,您可以使用以下公開檔案:
gs://cloud-samples-data/generative-ai/image/scones.jpg
,Mime 類型為image/jpeg
。如要查看這張圖片,請開啟範例圖片檔案。- Cloud Storage 值區 URI:物件必須是公開可讀,或是位於發出要求的 Google Cloud 專案中。
MIME_TYPE
:在data
或fileUri
欄位中指定的檔案媒體類型。可接受的值包括:按一下即可展開 MIME 類型
application/pdf
audio/mpeg
audio/mp3
audio/wav
image/png
image/jpeg
image/webp
text/plain
video/mov
video/mpeg
video/mp4
video/mpg
video/avi
video/wmv
video/mpegps
video/flv
TEXT
:提示中要納入的文字說明。例如:What is shown in this image?
如要傳送要求,請選擇以下其中一個選項:
curl
將要求主體儲存在名為 request.json
的檔案中。在終端機中執行下列指令,在目前目錄中建立或覆寫此檔案:
cat > request.json << 'EOF' { "contents": { "role": "USER", "parts": [ { "fileData": { "fileUri": "FILE_URI", "mimeType": "MIME_TYPE" } }, { "text": "TEXT" } ] } } EOF
接著,執行下列指令來傳送 REST 要求:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-1.5-flash:generateContent"
PowerShell
將要求主體儲存在名為 request.json
的檔案中。在終端機中執行下列指令,在目前目錄中建立或覆寫此檔案:
@' { "contents": { "role": "USER", "parts": [ { "fileData": { "fileUri": "FILE_URI", "mimeType": "MIME_TYPE" } }, { "text": "TEXT" } ] } } '@ | Out-File -FilePath request.json -Encoding utf8
接著,執行下列指令來傳送 REST 要求:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-1.5-flash:generateContent" | Select-Object -Expand Content
您應該會收到類似以下的 JSON 回應。
Base64 圖片資料
使用任何要求資料之前,請先替換以下項目:
LOCATION
:處理要求的區域。輸入支援的區域。如需支援的地區完整清單,請參閱「可用位置」。點選展開可用地區的部分清單
us-central1
us-west4
northamerica-northeast1
us-east4
us-west1
asia-northeast3
asia-southeast1
asia-northeast1
PROJECT_ID
:您的專案 ID。 圖片、PDF 或影片的 base64 編碼,用於在提示中內嵌。當您在內文中加入媒體時,也必須指定資料的媒體類型 (B64_BASE_IMAGE
mimeType
)。MIME_TYPE
:在data
或fileUri
欄位中指定的檔案媒體類型。可接受的值包括:按一下即可展開 MIME 類型
application/pdf
audio/mpeg
audio/mp3
audio/wav
image/png
image/jpeg
image/webp
text/plain
video/mov
video/mpeg
video/mp4
video/mpg
video/avi
video/wmv
video/mpegps
video/flv
TEXT
:提示中要納入的文字說明。例如:What is shown in this image?
。
如要傳送要求,請選擇以下其中一個選項:
curl
將要求主體儲存在名為 request.json
的檔案中。在終端機中執行下列指令,在目前目錄中建立或覆寫此檔案:
cat > request.json << 'EOF' { "contents": { "role": "USER", "parts": [ { "inlineData": { "data": "B64_BASE_IMAGE", "mimeType": "MIME_TYPE" } }, { "text": "TEXT" } ] } } EOF
接著,執行下列指令來傳送 REST 要求:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-1.5-flash:generateContent"
PowerShell
將要求主體儲存在名為 request.json
的檔案中。在終端機中執行下列指令,在目前目錄中建立或覆寫此檔案:
@' { "contents": { "role": "USER", "parts": [ { "inlineData": { "data": "B64_BASE_IMAGE", "mimeType": "MIME_TYPE" } }, { "text": "TEXT" } ] } } '@ | Out-File -FilePath request.json -Encoding utf8
接著,執行下列指令來傳送 REST 要求:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-1.5-flash:generateContent" | Select-Object -Expand Content
您應該會收到類似以下的 JSON 回應。
- 使用
generateContent
方法,要求在回覆完全產生後傳回。為減少使用者對延遲的感受,請使用streamGenerateContent
方法,在回覆生成的同時串流回覆內容。 - 多模態模型 ID 位於網址結尾,位於方法 (例如
gemini-2.0-flash
) 之前。這個範例可能也支援其他模型。
多張圖片
下列各分頁會說明在提示要求中加入多張圖片的不同方式。每個範例都會接收以下兩組輸入內容:
- 熱門城市地標的圖片
- 圖片的媒體類型
- 指出圖片中城市和地標的文字
這個範例也會擷取第三個圖片和媒體類型,但不會擷取文字。此範例會傳回文字回應,指出第三張圖片中的城市和地標。
這些圖片範例可與所有 Gemini 多模態模型搭配使用。
控制台
如要使用 Google Cloud 控制台傳送多模態提示,請按照下列步驟操作:在 Google Cloud 控制台的 Vertex AI 專區中,前往「Vertex AI Studio」頁面。
按一下「開啟任意形式文字」。
選用步驟:設定模型和參數:
- 模型:選取模型。
- 區域:選取要使用的區域。
溫度:使用滑桿或文字方塊輸入溫度值。
溫度會在應用
topP
和topK
時,用於回覆產生期間的取樣。溫度參數會決定選取詞元時的隨機程度。如果您想藉由提示生成較不具開放性和創意性的回覆,建議調低溫度參數。另一方面,如果溫度參數較高,則可能產生較多樣化或有創意的結果。如果溫度參數為0
,系統一律會選取可能性最高的詞元。在這種情況下,系統會根據特定提示提供的回覆,但仍可能出現少量變化。如果模型的回覆太普通、太短或提供了備用回覆,再試試看調高溫度參數。
輸出符號限制:使用滑桿或文字方塊輸入輸出上限值。
回覆內可以生成的符記數量上限。一個符記約為四個字元。100 個符記大約對應 60 到 80 個字詞。
如要取得較短的回覆,請指定較低的值;如要取得較長的回覆,請調高此值。
新增停止序列:選用。輸入停止序列,這是一系列包含空格的字元。如果模型遇到停止序列,回應產生作業就會停止。回應中不包含停靠點序列,且最多可新增五個停靠點序列。
選用步驟:如要設定進階參數,請按一下「Advanced」,然後按照下列步驟進行設定:
按一下即可展開進階設定
Top-K:使用滑桿或文字方塊輸入 Top-K 的值。 (Gemini 1.5 不支援)。
「Top-K」會影響模型選取輸出符記的方式。如果「前 K 個」設為1
,代表下一個所選詞元是模型詞彙表的所有詞元中可能性最高者 (也稱為「貪婪解碼」)。如果「前 K 個」設為3
,則代表模型會依據溫度參數,從可能性最高的 3 個詞元中選取下一個詞元。在每個符記選取步驟中,模型會對機率最高的「Top-K」符記取樣,接著進一步根據「Top-P」篩選詞元,最後依 temperature 選出最終詞元。
如要取得較不隨機的回覆,請指定較低的值;如要取得較隨機的回覆,請調高此值。
- Top-P:使用滑桿或文字方塊輸入 top-P 的值。
模型會按照可能性最高到最低的順序選取符記,直到所選符記的可能性總和等於 Top-P 值。如要讓結果的變化性降到最低,請將 Top-P 設為
0
。 - 回應數量上限:使用滑桿或文字方塊輸入要產生的回應數量。
- 逐句回覆:啟用此選項後,系統會逐句顯示回覆。
- 安全性篩選器門檻:選取可能有害回應的門檻。
- 啟用建立基準:系統不支援在多模態提示中建立基準。
按一下「插入媒體」,然後選取檔案來源。
上傳
選取要上傳的檔案,然後按一下「開啟」。
使用網址上傳
輸入要使用的檔案網址,然後按一下「插入」。
Cloud Storage
選取要匯入的值區,然後從該值區選取檔案,然後按一下「選取」。
Google 雲端硬碟
- 請選擇帳戶,並在首次選取這個選項時,授權 Vertex AI Studio 存取您的帳戶。您可以上傳多個檔案,總大小上限為 10 MB。單一檔案大小不得超過 7 MB。
- 按一下要新增的檔案。
按一下 [選取]。
檔案縮圖會顯示在「提示」窗格中。系統也會顯示符號總數。如果提示資料超過符記限制,系統會截斷符記,且不會納入資料處理作業。
在「提示」窗格中輸入文字提示。
選用:如要查看「符記 ID 到文字」和「符記 ID」,請按一下「提示」窗格中的「符記數量」。
按一下「提交」。
選用:如要將提示詞儲存至「我的提示詞」,請按一下
「儲存」。選用:如要取得提示的 Python 指令碼或 curl 指令,請按一下
「Get code」。
Gen AI SDK for Python
安裝
pip install --upgrade google-genai
詳情請參閱 SDK 參考說明文件。
設定環境變數,以便在 Vertex AI 中使用 Gen AI SDK:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
Gen AI SDK for Go
瞭解如何安裝或更新 Gen AI SDK for Go。
詳情請參閱 SDK 參考說明文件。
設定環境變數,以便在 Vertex AI 中使用 Gen AI SDK:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
Gen AI SDK for Node.js
安裝
npm install @google/genai
詳情請參閱 SDK 參考說明文件。
設定環境變數,以便在 Vertex AI 中使用 Gen AI SDK:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
Gen AI SDK for Java
瞭解如何安裝或更新 Gen AI SDK for Java。
詳情請參閱 SDK 參考說明文件。
設定環境變數,以便在 Vertex AI 中使用 Gen AI SDK:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
REST
設定環境後,您可以使用 REST 測試文字提示。以下範例會將要求傳送至發布商模型端點。
使用任何要求資料之前,請先替換以下項目:
PROJECT_ID
:您的專案 ID。FILE_URI1
:要納入提示中的檔案 URI 或網址。可接受的值包括:- Cloud Storage 值區 URI:物件必須是公開可讀,或是位於發出要求的 Google Cloud 專案中。
gemini-2.0-flash
和gemini-2.0-flash-lite
的大小限制為 2 GB。 - HTTP 網址:檔案網址必須可供大眾讀取。每個要求最多可指定一個影片檔案、一個音訊檔案和最多 10 個圖片檔案。音訊檔案、影片檔案和文件不得超過 15 MB。
- YouTube 影片網址:YouTube 影片必須屬於您用來登入 Google Cloud 控制台的帳戶,或是公開的影片。每個要求僅支援一個 YouTube 影片網址。
指定
fileURI
時,您也必須指定檔案的媒體類型 (mimeType
)。如果啟用 VPC Service Controls,系統就不會支援為fileURI
指定媒體檔案網址。如果 Cloud Storage 中沒有圖片檔案,您可以使用以下公開檔案:
gs://cloud-samples-data/vertex-ai/llm/prompts/landmark1.png
,Mime 類型為image/png
。如要查看這張圖片,請開啟範例圖片檔案。- Cloud Storage 值區 URI:物件必須是公開可讀,或是位於發出要求的 Google Cloud 專案中。
MIME_TYPE
:在data
或fileUri
欄位中指定的檔案媒體類型。可接受的值包括:按一下即可展開 MIME 類型
application/pdf
audio/mpeg
audio/mp3
audio/wav
image/png
image/jpeg
image/webp
text/plain
video/mov
video/mpeg
video/mp4
video/mpg
video/avi
video/wmv
video/mpegps
video/flv
TEXT1
:提示中要納入的文字說明。例如:city: Rome, Landmark: the Colosseum
FILE_URI2
:要納入提示中的檔案 URI 或網址。可接受的值包括:- Cloud Storage 值區 URI:物件必須是公開可讀,或是位於發出要求的 Google Cloud 專案中。
gemini-2.0-flash
和gemini-2.0-flash-lite
的大小限制為 2 GB。 - HTTP 網址:檔案網址必須可供大眾讀取。每個要求最多可指定一個影片檔案、一個音訊檔案和最多 10 個圖片檔案。音訊檔案、影片檔案和文件不得超過 15 MB。
- YouTube 影片網址:YouTube 影片必須屬於您用來登入 Google Cloud 控制台的帳戶,或是公開的影片。每個要求僅支援一個 YouTube 影片網址。
指定
fileURI
時,您也必須指定檔案的媒體類型 (mimeType
)。如果啟用 VPC Service Controls,系統就不會支援為fileURI
指定媒體檔案網址。如果 Cloud Storage 中沒有圖片檔案,您可以使用以下公開檔案:
gs://cloud-samples-data/vertex-ai/llm/prompts/landmark2.png
,Mime 類型為image/png
。如要查看這張圖片,請開啟範例圖片檔案。- Cloud Storage 值區 URI:物件必須是公開可讀,或是位於發出要求的 Google Cloud 專案中。
TEXT2
:提示中要納入的文字說明。例如:city: Beijing, Landmark: Forbidden City
FILE_URI3
:要納入提示中的檔案 URI 或網址。可接受的值包括:- Cloud Storage 值區 URI:物件必須是公開可讀,或是位於發出要求的 Google Cloud 專案中。
gemini-2.0-flash
和gemini-2.0-flash-lite
的大小限制為 2 GB。 - HTTP 網址:檔案網址必須可供大眾讀取。每個要求最多可指定一個影片檔案、一個音訊檔案和最多 10 個圖片檔案。音訊檔案、影片檔案和文件不得超過 15 MB。
- YouTube 影片網址:YouTube 影片必須屬於您用來登入 Google Cloud 控制台的帳戶,或是公開的影片。每個要求僅支援一個 YouTube 影片網址。
指定
fileURI
時,您也必須指定檔案的媒體類型 (mimeType
)。如果啟用 VPC Service Controls,系統就不會支援為fileURI
指定媒體檔案網址。如果 Cloud Storage 中沒有圖片檔案,您可以使用以下公開檔案:
gs://cloud-samples-data/vertex-ai/llm/prompts/landmark3.png
,Mime 類型為image/png
。如要查看這張圖片,請開啟範例圖片檔案。- Cloud Storage 值區 URI:物件必須是公開可讀,或是位於發出要求的 Google Cloud 專案中。
如要傳送要求,請選擇以下其中一個選項:
curl
將要求主體儲存在名為 request.json
的檔案中。在終端機中執行下列指令,在目前目錄中建立或覆寫此檔案:
cat > request.json << 'EOF' { "contents": { "role": "USER", "parts": [ { "fileData": { "fileUri": "FILE_URI1", "mimeType": "MIME_TYPE" } }, { "text": "TEXT1" }, { "fileData": { "fileUri": "FILE_URI2", "mimeType": "MIME_TYPE" } }, { "text": "TEXT2" }, { "fileData": { "fileUri": "FILE_URI3", "mimeType": "MIME_TYPE" } } ] } } EOF
接著,執行下列指令來傳送 REST 要求:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-2.0-flash:generateContent"
PowerShell
將要求主體儲存在名為 request.json
的檔案中。在終端機中執行下列指令,在目前目錄中建立或覆寫此檔案:
@' { "contents": { "role": "USER", "parts": [ { "fileData": { "fileUri": "FILE_URI1", "mimeType": "MIME_TYPE" } }, { "text": "TEXT1" }, { "fileData": { "fileUri": "FILE_URI2", "mimeType": "MIME_TYPE" } }, { "text": "TEXT2" }, { "fileData": { "fileUri": "FILE_URI3", "mimeType": "MIME_TYPE" } } ] } } '@ | Out-File -FilePath request.json -Encoding utf8
接著,執行下列指令來傳送 REST 要求:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-2.0-flash:generateContent" | Select-Object -Expand Content
您應該會收到類似以下的 JSON 回應。
請注意,此範例網址中的以下內容:- 使用
generateContent
方法,要求在回覆完全產生後傳回。為減少使用者對延遲的感受,請使用streamGenerateContent
方法,在回覆生成的同時串流回覆內容。 - 多模態模型 ID 位於網址結尾,位於方法 (例如
gemini-2.0-flash
) 之前。這個範例可能也支援其他模型。
設定選用模型參數
每個模型都有一組可設定的選用參數。詳情請參閱「內容產生參數」。
圖片權杖化
以下是圖片的符記計算方式:
- Gemini 2.0 Flash 和 Gemini 2.0 Flash-Lite:
- 如果圖片的長邊和短邊都小於或等於 384 像素,則會使用 258 個符記。
- 如果圖片的一個尺寸大於 384 像素,系統會將圖片裁剪成圖塊。每個圖塊大小的預設值為最小尺寸 (寬度或高度) 除以 1.5。如有需要,系統會調整每個圖塊,使其大小不小於 256 像素,也不大於 768 像素。然後,每個資訊方塊的大小都會調整為 768 x 768,並使用 258 個符記。
最佳做法
使用圖片時,請遵循下列最佳做法和資訊,以獲得最佳成效:
- 如果您想偵測圖片中的文字,請使用單張圖片的提示,這樣比使用多張圖片的提示可獲得更佳的結果。
- 如果提示包含單一圖片,請在要求中將圖片放在文字提示之前。
- 如果提示包含多張圖片,且您想在稍後的提示中參照這些圖片,或讓模型在模型回應中參照這些圖片,建議您在圖片前為每張圖片指定索引。請為索引使用
或a
b
c
。以下是使用索引圖片的提示範例:image 1
image 2
image 3
image 1
image 2 image 3 Write a blogpost about my day using image 1 and image 2. Then, give me ideas for tomorrow based on image 3. - 使用解析度較高的圖片,可獲得更好的結果。
- 在提示中加入幾個範例。
- 請先將圖片旋轉至正確方向,再將圖片加入提示中。
- 請避免使用模糊的圖片。
限制
雖然 Gemini 多模態模型在許多多模態用途上都相當強大,但請務必瞭解模型的限制:
- 內容審核:模特兒拒絕針對違反安全政策的圖片提供答案。
- 空間推理:模型無法精確定位圖片中的文字或物件。可能只會傳回物件的近似計數。
- 醫療用途:模型不適合用於解讀醫學圖像 (例如 X 光和 CT 掃描),也不適合用於提供醫療建議。
- 人物辨識:模型並非用於辨識圖片中非名人的人物。
- 準確度:模型在解讀低品質、旋轉或極低解析度的圖片時,可能會產生幻覺或出錯。模型在解讀圖像文件中的手寫文字時,也可能會產生錯誤。
後續步驟
- 開始使用 Gemini 多模態模型建構內容 - 新客戶可獲得 $300 美元的免費 Google Cloud 抵免額,探索 Gemini 的各種功能。
- 瞭解如何傳送 Chat 提示要求。
- 瞭解負責任的 AI 技術最佳做法和 Vertex AI 的安全過濾器。