Interpreta documentos

Gemini puede responder a peticiones sobre documentos. Puedes añadir documentos a las peticiones de Gemini para realizar tareas que impliquen comprender el contenido de los documentos incluidos.

La comprensión de documentos 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 documentos con Gemini e instrucciones paso a paso para enviar solicitudes a la API, consulta Enviar una petición multimodal.

Especificaciones de las peticiones con documentos

Puedes añadir archivos de documentos a tu petición a Gemini. Se aplican los siguientes límites máximos de documentos a las solicitudes de Gemini:

  • Número máximo de archivos por solicitud: 100
  • Número máximo de páginas por archivo: 100
  • Tamaño máximo por archivo: 50 MB

A continuación, se muestran algunos ejemplos de los máximos que puedes proporcionar en una sola solicitud con Gemini (que puede procesar un total de 100 páginas en una solicitud):

  • 100 archivos de una sola página
  • diez archivos de 10 páginas
  • un archivo de 100 páginas

Los documentos deben tener uno de los siguientes tipos MIME admitidos:

  • CSS: text/css
  • CSV: text/csv
  • HTML: text/html
  • JS: text/javascript o application/x-javascript
  • MD: text/md
  • PDF: application/pdf
  • PY: text/x-python o application/x-python
  • RTF: text/rtf
  • TXT: text/plain
  • XML: text/xml

Gemini impone las siguientes reglas a los documentos:

  • Los PDFs se tratan como imágenes, por lo que una sola página de un PDF se trata como una imagen. El número de páginas permitidas en una petición está limitado al número de imágenes que puede admitir el modelo.
  • Cada página de un PDF se tokeniza de la misma forma que una imagen.
  • Los documentos de texto sin formato se tokenizan como texto.
  • Si tu petición contiene un solo PDF, colócalo antes de la petición de texto.
  • Si tienes un documento largo, te recomendamos que lo dividas en varios PDFs para procesarlo.

Puedes usar el endpoint Chat Completions de la API REST y un cliente HTTP. Puedes proporcionar el documento como datos insertados en la solicitud de petición como un archivo codificado en Base64 o subir el archivo del documento a un contenedor de almacenamiento antes de enviar la solicitud de petición.

Consulta más información sobre las prácticas recomendadas y las limitaciones de los documentos en la Google Cloud documentación.

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 documentos 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 la entrada de un documento mediante curl.

Enviar solicitudes de datos insertados

Proporciona documentos como datos insertados en la solicitud de la petición a partir de archivos codificados en base64. La solicitud de la API contiene el campo input_document para los documentos codificados en base64. En el siguiente ejemplo se muestra cómo enviar solicitudes de documentos codificados en base64:

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": [
            {
              "type": "input_document",
              "input_document": {
                "data": BASE64_DATA,
                # Valid formats are css, csv, html, js, md, pdf, py, rtf, txt, or xml
                "format": "pdf"
              }
            }
          ]
        }
      ],
    }'

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.
  • BASE64_DATA: los datos codificados en base64 del archivo del documento. Los datos codificados en Base64 deben ir precedidos de un esquema de URI de datos, RFC 2397. Por lo tanto, el formato del campo data de los datos codificados en base64 es, por ejemplo, "data": f"data:application/pdf;base64,{base64_document}".

Enviar URLs de documentos en la solicitud

Sube el archivo del documento a un segmento de almacenamiento antes de hacer la solicitud de petición. La solicitud de la API contiene el campo document_url para los archivos de documentos de los segmentos de almacenamiento. En el siguiente ejemplo se muestra cómo enviar solicitudes de URL de documentos:

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": [
            {
              "type": "document_url",
              "document_url": {
                "url": "DOC_URL",
              }
            }
          ]
        }
      ],
    }'

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.
  • DOC_URL: la ruta a la URL de un documento en un contenedor de almacenamiento. Las URLs de los documentos deben hacer referencia a archivos de documentos almacenados en un segmento de almacenamiento de GDC. Para obtener más información, consulta Almacenar datos.

Siguientes pasos