Interpretar imágenes

Puedes añadir imágenes a las solicitudes de la API Completions de Gemini Chat para realizar tareas que impliquen comprender el contenido de las imágenes incluidas. La comprensión de imágenes es una de las entradas multimodales de Gemini que combina texto con archivos multimedia.

Para obtener más información sobre la interpretación de imágenes con Gemini e instrucciones paso a paso para enviar solicitudes a la API, consulta Enviar una petición multimodal.

Especificaciones de las peticiones con imágenes

Puedes añadir una o varias imágenes a tus peticiones a Gemini. El número máximo de imágenes por petición para asegurar el rendimiento de los modelos de Gemini en Google Distributed Cloud (GDC) aislado es 100.

No hay un límite específico en cuanto al número de píxeles de una imagen. Sin embargo, las imágenes más grandes se reducen y se rellenan para ajustarse a una resolución máxima de 768x768, conservando su relación de aspecto original. Cada imagen equivale a 258 tokens.

Las imágenes deben tener uno de los siguientes tipos MIME de datos de imagen:

  • HEIC: image/heic
  • HEIF: image/heif
  • JPG: image/jpg o image/jpeg
  • PNG: image/png
  • WebP: image/webp

Puedes usar el endpoint Chat Completions en la API REST y usar un cliente HTTP o los SDKs oficiales de OpenAI para Python. Puedes proporcionar la imagen como datos insertados en la solicitud de petición como un archivo codificado en base64 o subir el archivo de imagen a un contenedor de almacenamiento antes de hacer la solicitud de petición.

Consulte más información sobre las prácticas recomendadas y las limitaciones de las imágenes en la documentación de Google Cloud .

Para obtener más información sobre OpenAI y el endpoint Chat Completions que Gemini implementa en la configuración con air gap de Google Distributed Cloud (GDC), consulta https://platform.openai.com/docs/api-reference/chat.

Interpretar una imagen a partir de una petición

En los siguientes ejemplos se muestra una solicitud a la API Completions de Gemini Chat para generar texto a partir de una entrada de texto e imagen mediante los SDKs oficiales de OpenAI para Python o 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)

Haz los cambios siguientes:

  • MODEL_ID: el ID del endpoint del modelo con el que quieres generar la respuesta.
  • IMAGE_DATA: la ruta a una URL de imagen en un contenedor o los datos de imagen codificados en base64. Ten en cuenta los siguientes aspectos en función de tus datos:

    • Los datos codificados en Base64 deben ir precedidos de un esquema de URI de datos, RFC 2397. Por lo tanto, el formato del campo url para los datos codificados en Base64 es, por ejemplo, "url": f"data:image/jpeg;base64,{base64_image}".
    • Las URLs de las imágenes deben hacer referencia a imágenes almacenadas en un segmento de almacenamiento de GDC. Por lo tanto, el formato del campo url para las URLs de las imágenes es, por ejemplo, "url": "s3://path/to/bucket/image". Para obtener más información, consulta Almacenar datos.

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

Haz los cambios siguientes:

  • ENDPOINT: el endpoint de la API que usas en tu organización.
  • PROJECT: tu ID de proyecto.
  • MODEL_ID: el ID del endpoint del modelo con el que quieres generar la respuesta.
  • IMAGE_DATA: la ruta a una URL de imagen en un contenedor o los datos de imagen codificados en base64. Ten en cuenta los siguientes aspectos en función de tus datos:

    • Los datos codificados en Base64 deben ir precedidos de un esquema de URI de datos, RFC 2397. Por lo tanto, el formato del campo url para los datos codificados en Base64 es, por ejemplo, "url": f"data:image/jpeg;base64,{base64_image}".
    • Las URLs de las imágenes deben hacer referencia a imágenes almacenadas en un segmento de almacenamiento de GDC. Por lo tanto, el formato del campo url para las URLs de las imágenes es, por ejemplo, "url": "s3://path/to/bucket/image". Para obtener más información, consulta Almacenar datos.

Siguientes pasos