Memahami gambar

Anda dapat menambahkan gambar ke permintaan Gemini Chat Completions API untuk melakukan tugas yang melibatkan pemahaman konten gambar yang disertakan. Pemahaman gambar adalah salah satu input multimodal Gemini yang menggabungkan teks dengan file media.

Untuk mengetahui informasi selengkapnya tentang pemahaman gambar dengan Gemini dan petunjuk langkah demi langkah untuk mengirim permintaan API, lihat Mengirim perintah multimodal.

Spesifikasi untuk perintah dengan gambar

Anda dapat menambahkan satu atau beberapa gambar ke permintaan Gemini Anda. Jumlah maksimum gambar per perintah untuk memastikan performa model Gemini dalam Google Distributed Cloud (GDC) dengan air gap adalah 100.

Tidak ada batasan khusus untuk jumlah piksel dalam gambar. Namun, gambar yang lebih besar akan diperkecil dan diberi padding agar sesuai dengan resolusi maksimum 768 x 768 sambil mempertahankan rasio aspek aslinya. Setiap gambar setara dengan 258 token.

Gambar harus dalam salah satu jenis MIME data gambar berikut:

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

Anda dapat menggunakan endpoint Chat Completions di REST API dan menggunakan klien HTTP atau SDK resmi OpenAI untuk Python. Anda dapat memberikan gambar sebagai data inline ke permintaan perintah sebagai file berenkode base64 atau mengupload file gambar ke bucket penyimpanan sebelum membuat permintaan perintah.

Pelajari lebih lanjut praktik terbaik dan batasan untuk gambar di dokumentasi Google Cloud .

Untuk mempelajari lebih lanjut OpenAI dan endpoint Chat Completions yang diterapkan Gemini dalam lingkungan air-gapped Google Distributed Cloud (GDC), lihat https://platform.openai.com/docs/api-reference/chat.

Memahami gambar dari perintah

Contoh berikut menunjukkan permintaan Gemini Chat Completions API untuk membuat teks dari input teks dan gambar menggunakan SDK resmi OpenAI untuk Python atau curl.

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)

Ganti kode berikut:

  • MODEL_ID: ID endpoint model yang ingin Anda gunakan untuk membuat respons.
  • IMAGE_DATA: jalur ke URL gambar di bucket atau data gambar berenkode base64. Pertimbangkan aspek berikut bergantung pada data Anda:

    • Data berenkode Base64 harus diawali dengan skema URI data, RFC 2397. Oleh karena itu, format untuk kolom url untuk data yang dienkode base64 adalah, misalnya, "url": f"data:image/jpeg;base64,{base64_image}".
    • URL gambar harus merujuk ke gambar yang disimpan di bucket penyimpanan GDC. Oleh karena itu, format untuk kolom url untuk URL gambar adalah, misalnya, "url": "s3://path/to/bucket/image". Untuk mengetahui informasi selengkapnya, lihat Menyimpan data.

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
    }'

Ganti kode berikut:

  • ENDPOINT: endpoint API yang Anda gunakan untuk organisasi Anda.
  • PROJECT: project ID Anda.
  • MODEL_ID: ID endpoint model yang ingin Anda gunakan untuk membuat respons.
  • IMAGE_DATA: jalur ke URL gambar di bucket atau data gambar berenkode base64. Pertimbangkan aspek berikut bergantung pada data Anda:

    • Data berenkode Base64 harus diawali dengan skema URI data, RFC 2397. Oleh karena itu, format untuk kolom url untuk data yang dienkode base64 adalah, misalnya, "url": f"data:image/jpeg;base64,{base64_image}".
    • URL gambar harus merujuk ke gambar yang disimpan di bucket penyimpanan GDC. Oleh karena itu, format untuk kolom url untuk URL gambar adalah, misalnya, "url": "s3://path/to/bucket/image". Untuk mengetahui informasi selengkapnya, lihat Menyimpan data.

Langkah berikutnya