Compreenda documentos

O Gemini pode responder a comandos sobre documentos. Pode adicionar documentos a pedidos do Gemini para realizar tarefas que envolvam 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 ficheiros multimédia.

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

Especificações para comandos com documentos

Pode adicionar ficheiros de documentos ao seu pedido ao Gemini. Os seguintes limites máximos de documentos aplicam-se aos pedidos do Gemini:

  • Número máximo de ficheiros por pedido: 100
  • Número máximo de páginas por ficheiro: 100
  • Tamanho máximo por ficheiro: 50 MB

Seguem-se alguns exemplos de máximos que pode fornecer num único pedido usando o Gemini (que pode processar um total de 100 páginas num pedido):

  • 100 ficheiros de página única
  • Dez ficheiros de 10 páginas
  • um ficheiro de 100 páginas

Os documentos têm de estar num dos seguintes tipos MIME suportados:

  • 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, pelo que uma única página de um PDF é tratada como uma imagem. O número de páginas permitido num comando está limitado ao número de imagens que o modelo suporta.
  • Cada página de um PDF é convertida em tokens 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 no seu pedido.
  • Se tiver um documento longo, considere dividi-lo em vários PDFs para o processar.

Pode usar o ponto final Chat Completions na API REST e usar um cliente HTTP. Pode fornecer o documento como dados inline ao pedido de comando como um ficheiro com codificação base64 ou carregar o ficheiro do documento para um contentor de armazenamento antes de fazer o pedido de comando.

Saiba mais sobre as práticas recomendadas e as limitações para documentos 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 documentos a partir de um comando

Os exemplos seguintes mostram um pedido da API Gemini Chat Completions para gerar texto a partir da entrada de documentos usando curl.

Envie pedidos de dados em linha

Fornecer documentos como dados inline ao pedido de comando a partir de ficheiros codificados em base64. O pedido da API contém o campo input_document para documentos codificados em base64. O exemplo seguinte mostra como enviar pedidos 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 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.
  • BASE64_DATA: os dados codificados em base64 do ficheiro do documento. 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 data para dados codificados em base64 é, por exemplo, "data": f"data:application/pdf;base64,{base64_document}".

Envie os URLs dos documentos no pedido

Carregue o ficheiro do documento para um contentor de armazenamento antes de fazer o pedido de comando. O pedido da API contém o campo document_url para ficheiros de documentos em contentores de armazenamento. O exemplo seguinte mostra como enviar pedidos 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",
              }
            }
          ]
        }
      ],
    }'

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.
  • DOC_URL: o caminho para um URL de documento num contentor de armazenamento. Os URLs dos documentos têm de referir-se a ficheiros de documentos armazenados num contentor de armazenamento do GDC. Para mais informações, consulte o artigo Armazene dados.

O que se segue?