Compreenda imagens

Pode adicionar imagens a pedidos da API Gemini Chat Completions para realizar tarefas que envolvem a compreensão dos conteúdos das imagens incluídas. A compreensão de imagens é uma das entradas multimodais do Gemini que combinam texto com ficheiros multimédia.

Para mais informações sobre a compreensão de imagens com o Gemini e instruções passo a passo para enviar pedidos de API, consulte Enviar um comando multimodal.

Especificações para comandos com imagens

Pode adicionar uma ou várias imagens aos seus pedidos ao Gemini. O número máximo de imagens por comando para garantir o desempenho dos modelos Gemini no Google Distributed Cloud (GDC) air-gapped é 100.

Não existe um limite específico para o número de píxeis numa imagem. No entanto, as imagens maiores são reduzidas e preenchidas para se ajustarem a uma resolução máxima de 768 x 768, ao mesmo tempo que preservam o formato original. Cada imagem equivale a 258 tokens.

As imagens têm de estar num dos seguintes tipos MIME de dados de imagem:

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

Pode usar o ponto final Chat Completions na API REST e usar um cliente HTTP ou os SDKs oficiais da OpenAI para Python. Pode fornecer a imagem como dados incorporados no pedido de comando como um ficheiro codificado em base64 ou carregar o ficheiro de imagem para um contentor de armazenamento antes de fazer o pedido de comando.

Saiba mais acerca das práticas recomendadas e das limitações para imagens na Google Cloud documentação.

Para saber mais sobre a OpenAI e o ponto final Chat Completions que o Gemini implementa no Google Distributed Cloud (GDC) air-gapped, consulte https://platform.openai.com/docs/api-reference/chat.

Compreenda uma imagem a partir de um comando

Os exemplos seguintes mostram um pedido da API Gemini Chat Completions para gerar texto a partir de entrada de texto e imagem usando os SDKs oficiais da OpenAI para Python ou 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)

Substitua o seguinte:

  • MODEL_ID: o ID do ponto final do modelo para o qual quer gerar a resposta.
  • IMAGE_DATA: o caminho para um URL de imagem num contentor ou os dados da imagem com codificação em base64. Considere os seguintes aspetos consoante os seus dados:

    • Os dados codificados em Base64 têm de ter o prefixo de um esquema de URI de dados, RFC 2397. Por conseguinte, o formato do campo url para dados codificados em base64 é, por exemplo, "url": f"data:image/jpeg;base64,{base64_image}".
    • Os URLs de imagens têm de referir-se a imagens armazenadas num contentor de armazenamento do GDC. Por conseguinte, o formato do campo url para URLs de imagens é, por exemplo, "url": "s3://path/to/bucket/image". Para mais informações, consulte o artigo Armazene dados.

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

Substitua o seguinte:

  • ENDPOINT: o ponto final da API que usa para a sua organização.
  • PROJECT: o ID do seu projeto.
  • MODEL_ID: o ID do ponto final do modelo para o qual quer gerar a resposta.
  • IMAGE_DATA: o caminho para um URL de imagem num contentor ou os dados da imagem com codificação em base64. Considere os seguintes aspetos consoante os seus dados:

    • Os dados codificados em Base64 têm de ter o prefixo de um esquema de URI de dados, RFC 2397. Por conseguinte, o formato do campo url para dados codificados em base64 é, por exemplo, "url": f"data:image/jpeg;base64,{base64_image}".
    • Os URLs de imagens têm de referir-se a imagens armazenadas num contentor de armazenamento do GDC. Por conseguinte, o formato do campo url para URLs de imagens é, por exemplo, "url": "s3://path/to/bucket/image". Para mais informações, consulte o artigo Armazene dados.

O que se segue?