瞭解圖片

您可以在 Gemini Chat Completions API 要求中加入圖片,執行需要瞭解圖片內容的任務。圖像理解是 Gemini 的多模態輸入內容之一,可將文字與媒體檔案結合。

如要進一步瞭解如何使用 Gemini 瞭解圖片,以及傳送 API 要求的逐步操作說明,請參閱「傳送多模態提示」。

圖片提示的規格

你可以在 Gemini 要求中加入單一或多張圖片。為確保 Google Distributed Cloud (GDC) 實體隔離環境中的 Gemini 模型效能,每個提示最多可使用 100 張圖片。

圖片的像素數量沒有具體限制,不過,系統會縮小較大的圖片,並加上邊框,以符合 768 x 768 的最大解析度,同時保留原始長寬比。每張圖片相當於 258 個權杖。

圖片必須採用下列其中一種圖片資料 MIME 類型:

  • HEIC:image/heic
  • HEIF:image/heif
  • JPG:image/jpgimage/jpeg
  • PNG:image/png
  • WEBP:image/webp

您可以在 REST API 中使用 Chat Completions 端點,並使用 HTTP 用戶端或 OpenAI 的 Python 官方 SDK。您可以將圖片以內嵌資料的形式提供給提示要求 (以 base64 編碼檔案的形式),或上傳圖片檔案至儲存空間值區,再提出提示要求。

如要進一步瞭解圖片最佳做法限制,請參閱 Google Cloud 說明文件。

如要進一步瞭解 OpenAI,以及 Gemini 在 Google Distributed Cloud (GDC) Air-Gapped 中實作的 Chat Completions 端點,請參閱 https://platform.openai.com/docs/api-reference/chat

根據提示瞭解圖片

下列範例顯示 Gemini Chat Completions API 要求,可使用 Python 或 curl 的 OpenAI 官方 SDK,從文字和圖片輸入內容生成文字。

Python

import openai

client = openai.OpenAI()
model_response = client.chat.completions.create(
  model = "MODEL_ID",
  messages =  [
                {
                  "role": "user",
                  "content": "What's in this image?"
                },
                {
                  "role": "user",
                  "content": [
                      {
                        "type": "image_url",
                        "image_url": {
                              # Image URL or base64-encoded data
                              "url": IMAGE_DATA,
                            }
                      }
                    ]
                }
              ]
)

print(model_response)

更改下列內容:

  • MODEL_ID:要生成回覆的模型端點 ID。
  • IMAGE_DATA:儲存空間中的圖片網址路徑,或 base64 編碼的圖片資料。請根據資料考量下列事項:

    • Base64 編碼資料必須以資料 URI 結構 (RFC 2397) 為前置字元。 因此,Base64 編碼資料的 url 欄位格式為 "url": f"data:image/jpeg;base64,{base64_image}"
    • 圖片網址必須參照儲存在 GDC 儲存空間值區中的圖片。因此,圖片網址的 url 欄位格式為 "url": "s3://path/to/bucket/image"。詳情請參閱「儲存資料」。

curl

curl \
  -X POST "https://ENDPOINT:443/v1/projects/PROJECT/locations/PROJECT/chat/completions" \
  -H "Content-Type: application/json; charset=utf-8" \
  -H "Authorization: Bearer $(gdcloud auth print-identity-token)" \
  -d '{
      "model_id": "MODEL_ID",
      "messages": [
        {
          "role": "user",
          "content": "What's in this image?"
        },
        {
          "role": "user",
          "content": [
            {
              "type": "image_url",
              "image_url": {
                # Image URL or base64-encoded data
                "url": IMAGE_DATA
              }
            }
          ]
        }
      ],
      "max_tokens": 300
    }'

更改下列內容:

  • ENDPOINT:貴機構使用的 API 端點。
  • PROJECT:您的專案 ID。
  • MODEL_ID:要生成回覆的模型端點 ID。
  • IMAGE_DATA:儲存空間中的圖片網址路徑,或 base64 編碼的圖片資料。請根據資料考量下列事項:

    • Base64 編碼資料必須以資料 URI 結構 (RFC 2397) 為前置字元。 因此,Base64 編碼資料的 url 欄位格式為 "url": f"data:image/jpeg;base64,{base64_image}"
    • 圖片網址必須參照儲存在 GDC 儲存空間值區中的圖片。因此,圖片網址的 url 欄位格式為 "url": "s3://path/to/bucket/image"。詳情請參閱「儲存資料」。

後續步驟