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/javascriptouapplication/x-javascript - MD:
text/md - PDF:
application/pdf - PY:
text/x-pythonouapplication/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 campodatapara 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.