Entenda os documentos

O Gemini pode responder a comandos sobre documentos. É possível adicionar documentos às solicitações do Gemini para realizar tarefas que envolvem a compreensão do conteúdo dos documentos incluídos.

A compreensão de documentos é uma das entradas multimodais do Gemini que combinam texto com arquivos de mídia.

Para mais informações sobre o entendimento de documentos com o Gemini e instruções detalhadas para enviar solicitações de API, consulte Enviar um comando multimodal.

Especificações para comandos com documentos

É possível adicionar arquivos de documentos à sua solicitação para o Gemini. Os seguintes limites máximos de documentos se aplicam às solicitações do Gemini:

  • Máximo de arquivos por solicitação: 100
  • Máximo de páginas por arquivo: 100
  • Tamanho máximo por arquivo: 50 MB

Confira alguns exemplos de máximos que você pode fornecer em uma única solicitação usando o Gemini, que pode processar um total de 100 páginas em uma solicitação:

  • 100 arquivos de página única
  • dez arquivos de 10 páginas
  • um arquivo de 100 páginas

Os documentos precisam estar em um dos seguintes tipos MIME compatíveis:

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

O Gemini impõe as seguintes regras aos documentos:

  • Os PDFs são tratados como imagens. Por isso, uma única página de um PDF é tratada como uma imagem. O número de páginas permitido em um comando é limitado ao número de imagens que o modelo aceita.
  • Cada página de um PDF é tokenizada da mesma forma que uma imagem.
  • Os documentos de texto simples são tokenizados como texto.
  • Se o comando contiver um único PDF, coloque o PDF antes do comando de texto na solicitação.
  • Se você tiver um documento longo, considere dividi-lo em vários PDFs para processá-lo.

É possível usar o endpoint Chat Completions na API REST e um cliente HTTP. É possível fornecer o documento como dados in-line para a solicitação de comando como um arquivo codificado em base64 ou fazer upload do arquivo de documento para um bucket de armazenamento antes de fazer a solicitação de comando.

Saiba mais sobre as práticas recomendadas e limitações para documentos na documentação do Google Cloud .

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

Entender documentos com um comando

Os exemplos a seguir mostram uma solicitação da API Gemini Chat Completions para gerar texto com base em entradas de documentos usando curl.

Enviar solicitações de dados in-line

Forneça documentos como dados in-line para a solicitação de comando de arquivos codificados em base64. A solicitação de API contém o campo input_document para documentos codificados em base64. O exemplo a seguir mostra como enviar solicitações de documentos codificados em 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"
              }
            }
          ]
        }
      ],
    }'

Substitua:

  • ENDPOINT: o endpoint de API que você usa na sua organização.
  • PROJECT: o ID do projeto.
  • MODEL_ID: o ID do endpoint do modelo que você quer usar para gerar a resposta.
  • BASE64_DATA: os dados codificados em base64 do arquivo do documento. Os dados codificados em base64 precisam ter um prefixo com um esquema de URI de dados, RFC 2397. Portanto, o formato do campo data para dados codificados em base64 é, por exemplo, "data": f"data:application/pdf;base64,{base64_document}".

Enviar URLs de documentos na solicitação

Faça upload do arquivo de documento para um bucket de armazenamento antes de fazer a solicitação de comando. A solicitação de API contém o campo document_url para arquivos de documentos em buckets de armazenamento. O exemplo a seguir mostra como enviar solicitações de URL de documento:

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",
              }
            }
          ]
        }
      ],
    }'

Substitua:

  • ENDPOINT: o endpoint de API que você usa na sua organização.
  • PROJECT: o ID do projeto.
  • MODEL_ID: o ID do endpoint do modelo que você quer usar para gerar a resposta.
  • DOC_URL: o caminho para um URL de documento em um bucket de armazenamento. Os URLs de documentos precisam se referir a arquivos armazenados em um bucket de armazenamento do GDC. Para mais informações, consulte Armazenar dados.

A seguir