Pode adicionar imagens a pedidos do Gemini para realizar tarefas que envolvam a compreensão dos conteúdos das imagens incluídas. Esta página mostra como adicionar imagens aos seus pedidos ao Gemini no Vertex AI através daGoogle Cloud consola e da API Vertex AI.
Modelos suportados
A tabela seguinte apresenta os modelos que suportam a compreensão de imagens:
Modelo | Detalhes de multimédia | Tipos MIME |
---|---|---|
Gemini 2.5 Flash (pré-visualização) |
|
|
Gemini 2.5 Flash-Lite (Pré-visualização) |
|
|
Gemini 2.5 Flash Image |
|
|
Gemini 2.5 Flash-Lite |
|
|
Gemini 2.0 Flash com geração de imagens (Pré-visualização) |
|
|
Gemini 2.5 Pro |
|
|
Gemini 2.5 Flash |
|
|
Gemini 2.0 Flash |
|
|
Gemini 2.0 Flash-Lite |
|
|
A métrica de quota é
generate_content_video_input_per_base_model_id_and_resolution
.
Para ver uma lista de idiomas compatíveis com os modelos do Gemini, consulte as informações do modelo Modelos Google. Para saber mais sobre como criar comandos multimodais, consulte o artigo Crie comandos multimodais. Se procura uma forma de usar o Gemini diretamente a partir das suas apps para dispositivos móveis e Web, consulte os SDKs do cliente da Firebase AI Logic para apps Swift, Android, Web, Flutter e Unity.
Adicione imagens a um pedido
Pode adicionar uma única imagem ou várias imagens no seu pedido ao Gemini.
Imagem única
O código de exemplo em cada um dos separadores seguintes mostra uma forma diferente de identificar o que está numa imagem. Este exemplo funciona com todos os modelos multimodais do Gemini.
Consola
Para enviar um comando multimodal através da Google Cloud consola, faça o seguinte:Na secção Vertex AI da Google Cloud consola, aceda à página Vertex AI Studio.
Clique em Abrir forma livre.
Opcional: configure o modelo e os parâmetros:
- Modelo: selecione um modelo.
- Região: selecione a região que quer usar.
Temperatura: use o controlo de deslize ou a caixa de texto para introduzir um valor para a temperatura.
A temperatura é usada para a amostragem durante a geração de respostas, que ocorre quando
topP
etopK
são aplicados. A temperatura controla o grau de aleatoriedade na seleção de tokens. As temperaturas mais baixas são adequadas para comandos que requerem uma resposta menos aberta ou criativa, enquanto as temperaturas mais altas podem gerar resultados mais diversos ou criativos. Uma temperatura de0
significa que os tokens de probabilidade mais elevada são sempre selecionados. Neste caso, as respostas para um determinado comando são maioritariamente determinísticas, mas ainda é possível uma pequena variação.Se o modelo devolver uma resposta demasiado genérica, demasiado curta ou uma resposta alternativa, experimente aumentar a temperatura.
Limite de tokens de saída: use o controlo de deslize ou a caixa de texto para introduzir um valor para o limite máximo de saída.
Número máximo de tokens que podem ser gerados na resposta. Um token tem aproximadamente quatro carateres. 100 tokens correspondem a aproximadamente 60 a 80 palavras.
Especifique um valor inferior para respostas mais curtas e um valor superior para respostas potencialmente mais longas.
Adicione a sequência de paragens: opcional. Introduza uma sequência de paragem, que é uma série de carateres que inclui espaços. Se o modelo encontrar uma sequência de paragem, a geração de respostas é interrompida. A sequência de paragens não está incluída na resposta, e pode adicionar até cinco sequências de paragens.
Opcional: para configurar parâmetros avançados, clique em Avançadas e configure da seguinte forma:
Clique para expandir as configurações avançadas
Top-K: use o controlo de deslize ou a caixa de texto para introduzir um valor para o top-K. (não suportado para o Gemini 1.5).
O Top-K altera a forma como o modelo seleciona tokens para a saída. Um top-K de1
significa que o token selecionado seguinte é o mais provável entre todos os tokens no vocabulário do modelo (também denominado descodificação gananciosa), enquanto um top-K de3
significa que o token seguinte é selecionado entre os três tokens mais prováveis através da temperatura.Para cada passo de seleção de tokens, são amostrados os K principais tokens com as probabilidades mais elevadas. Em seguida, os tokens são filtrados com base no top-P, com o token final selecionado através da amostragem de temperatura.
Especifique um valor inferior para respostas menos aleatórias e um valor superior para respostas mais aleatórias.
- Top-P: use o controlo de deslize ou a caixa de texto para introduzir um valor para o top-P.
Os tokens são selecionados do mais provável para o menos provável até que a soma das respetivas probabilidades seja igual ao valor de top-P. Para obter os resultados menos variáveis,
defina o top-P como
0
. - Respostas máximas: use o controlo de deslize ou a caixa de texto para introduzir um valor para o número de respostas a gerar.
- Respostas graduais: ative esta opção para imprimir as respostas à medida que são geradas.
- Limite do filtro de segurança: selecione o limite da probabilidade de ver respostas que possam ser prejudiciais.
- Ativar fundamentação: a fundamentação não é suportada para comandos multimodais.
Clique em Inserir multimédia e selecione uma origem para o ficheiro.
Carregar
Selecione o ficheiro que quer carregar e clique em Abrir.
Por URL
Introduza o URL do ficheiro que quer usar e clique em Inserir.
Cloud Storage
Selecione o contentor e, de seguida, o ficheiro do contentor que quer importar e clique em Selecionar.
Google Drive
- Escolha uma conta e dê o seu consentimento ao Vertex AI Studio para aceder à sua conta na primeira vez que selecionar esta opção. Pode carregar vários ficheiros com um tamanho total de até 10 MB. Um único ficheiro não pode exceder os 7 MB.
- Clique no ficheiro que quer adicionar.
Clique em Selecionar.
A miniatura do ficheiro é apresentada no painel Comando. Também é apresentado o número total de tokens. Se os dados dos comandos excederem o limite de tokens, os tokens são truncados e não são incluídos no processamento dos seus dados.
Introduza o comando de texto no painel Comando.
Opcional: para ver o ID do token para texto e os IDs dos tokens, clique na contagem de tokens no painel Comando.
Clique em Enviar.
Opcional: para guardar o comando em Os meus comandos, clique em
Guardar.Opcional: para obter o código Python ou um comando curl para o seu comando, clique em
Obter código.
Python
Instalação
pip install --upgrade google-genai
Para saber mais, consulte a documentação de referência do SDK.
Defina variáveis de ambiente para usar o SDK de IA gen com o Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
Go
Saiba como instalar ou atualizar o Go.
Para saber mais, consulte a documentação de referência do SDK.
Defina variáveis de ambiente para usar o SDK de IA gen com o Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
Node.js
Instalação
npm install @google/genai
Para saber mais, consulte a documentação de referência do SDK.
Defina variáveis de ambiente para usar o SDK de IA gen com o Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
Java
Saiba como instalar ou atualizar o Java.
Para saber mais, consulte a documentação de referência do SDK.
Defina variáveis de ambiente para usar o SDK de IA gen com o Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
REST
Depois de configurar o seu ambiente, pode usar a API REST para testar um comando de texto. O exemplo seguinte envia um pedido para o ponto final do modelo do publicador.
Pode incluir imagens armazenadas no Cloud Storage ou usar dados de imagens codificados em base64.Imagem no Cloud Storage
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT_ID
: o seu ID do projeto.FILE_URI
: O URI ou o URL do ficheiro a incluir no comando. Os valores aceitáveis incluem o seguinte:- URI do contentor do Cloud Storage: o objeto tem de ser legível publicamente ou residir no mesmo projeto Google Cloud que está a enviar o pedido. Para
gemini-2.0-flash
egemini-2.0-flash-lite
, o limite de tamanho é de 2 GB. - URL HTTP: o URL do ficheiro tem de ser legível publicamente. Pode especificar um ficheiro de vídeo, um ficheiro de áudio e até 10 ficheiros de imagem por pedido. Os ficheiros de áudio, os ficheiros de vídeo e os documentos não podem exceder os 15 MB.
- URL do vídeo do YouTube: o vídeo do YouTube tem de ser propriedade da conta que usou para iniciar sessão na Google Cloud consola ou ser público. Apenas é suportado um URL de vídeo do YouTube por pedido.
Quando especifica um
fileURI
, também tem de especificar o tipo de suporte (mimeType
) do ficheiro. Se o VPC Service Controls estiver ativado, a especificação de um URL de ficheiro multimédia parafileURI
não é suportada.Se não tiver um ficheiro de imagem no Cloud Storage, pode usar o seguinte ficheiro disponível publicamente:
gs://cloud-samples-data/generative-ai/image/scones.jpg
com um tipo MIME deimage/jpeg
. Para ver esta imagem, abra o ficheiro de imagem de exemplo.- URI do contentor do Cloud Storage: o objeto tem de ser legível publicamente ou residir no mesmo projeto Google Cloud que está a enviar o pedido. Para
MIME_TYPE
: o tipo de suporte do ficheiro especificado nos camposdata
oufileUri
Os valores aceitáveis incluem o seguinte:Clique para expandir os tipos MIME
application/pdf
audio/mpeg
audio/mp3
audio/wav
image/png
image/jpeg
image/webp
text/plain
video/mov
video/mpeg
video/mp4
video/mpg
video/avi
video/wmv
video/mpegps
video/flv
TEXT
: As instruções de texto a incluir no comando. Por exemplo,What is shown in this image?
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro denominado request.json
.
Execute o seguinte comando no terminal para criar ou substituir
este ficheiro no diretório atual:
cat > request.json << 'EOF' { "contents": { "role": "USER", "parts": [ { "fileData": { "fileUri": "FILE_URI", "mimeType": "MIME_TYPE" } }, { "text": "TEXT" } ] } } EOF
Em seguida, execute o seguinte comando para enviar o seu pedido REST:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-1.5-flash:generateContent"
PowerShell
Guarde o corpo do pedido num ficheiro denominado request.json
.
Execute o seguinte comando no terminal para criar ou substituir
este ficheiro no diretório atual:
@' { "contents": { "role": "USER", "parts": [ { "fileData": { "fileUri": "FILE_URI", "mimeType": "MIME_TYPE" } }, { "text": "TEXT" } ] } } '@ | Out-File -FilePath request.json -Encoding utf8
Em seguida, execute o seguinte comando para enviar o seu pedido REST:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-1.5-flash:generateContent" | Select-Object -Expand Content
Deve receber uma resposta JSON semelhante à seguinte.
Dados de imagem Base64
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
LOCATION
: a região para processar o pedido. Introduza uma região compatível. Para ver a lista completa de regiões suportadas, consulte o artigo Localizações disponíveis.Clique para expandir uma lista parcial das regiões disponíveis
us-central1
us-west4
northamerica-northeast1
us-east4
us-west1
asia-northeast3
asia-southeast1
asia-northeast1
PROJECT_ID
: o seu ID do projeto. A codificação base64 da imagem, do PDF ou do vídeo a incluir inline no comando. Quando inclui conteúdo multimédia inline, também tem de especificar o tipo de conteúdo multimédia (B64_BASE_IMAGE
mimeType
) dos dados.MIME_TYPE
: o tipo de suporte do ficheiro especificado nos camposdata
oufileUri
Os valores aceitáveis incluem o seguinte:Clique para expandir os tipos MIME
application/pdf
audio/mpeg
audio/mp3
audio/wav
image/png
image/jpeg
image/webp
text/plain
video/mov
video/mpeg
video/mp4
video/mpg
video/avi
video/wmv
video/mpegps
video/flv
TEXT
: As instruções de texto a incluir no comando. Por exemplo,What is shown in this image?
.
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro denominado request.json
.
Execute o seguinte comando no terminal para criar ou substituir
este ficheiro no diretório atual:
cat > request.json << 'EOF' { "contents": { "role": "USER", "parts": [ { "inlineData": { "data": "B64_BASE_IMAGE", "mimeType": "MIME_TYPE" } }, { "text": "TEXT" } ] } } EOF
Em seguida, execute o seguinte comando para enviar o seu pedido REST:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-1.5-flash:generateContent"
PowerShell
Guarde o corpo do pedido num ficheiro denominado request.json
.
Execute o seguinte comando no terminal para criar ou substituir
este ficheiro no diretório atual:
@' { "contents": { "role": "USER", "parts": [ { "inlineData": { "data": "B64_BASE_IMAGE", "mimeType": "MIME_TYPE" } }, { "text": "TEXT" } ] } } '@ | Out-File -FilePath request.json -Encoding utf8
Em seguida, execute o seguinte comando para enviar o seu pedido REST:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-1.5-flash:generateContent" | Select-Object -Expand Content
Deve receber uma resposta JSON semelhante à seguinte.
- Use o método
generateContent
para pedir que a resposta seja devolvida após a geração completa. Para reduzir a perceção de latência para um público humano, transmita a resposta à medida que está a ser gerada através do métodostreamGenerateContent
. - O ID do modelo multimodal encontra-se no final do URL antes do método
(por exemplo,
gemini-2.0-flash
). Este exemplo também pode suportar outros modelos.
Várias imagens
Cada um dos seguintes separadores mostra uma forma diferente de incluir várias imagens num pedido de comando. Cada exemplo recebe dois conjuntos das seguintes entradas:
- Uma imagem de um ponto de referência popular da cidade
- O tipo de suporte da imagem
- Texto que indica a cidade e o ponto de referência na imagem
A amostra também inclui uma terceira imagem e um tipo de suporte, mas não inclui texto. O exemplo devolve uma resposta de texto que indica a cidade e o ponto de referência na terceira imagem.
Estas amostras de imagens funcionam com todos os modelos multimodais do Gemini.
Consola
Para enviar um comando multimodal através da Google Cloud consola, faça o seguinte:Na secção Vertex AI da Google Cloud consola, aceda à página Vertex AI Studio.
Clique em Abrir forma livre.
Opcional: configure o modelo e os parâmetros:
- Modelo: selecione um modelo.
- Região: selecione a região que quer usar.
Temperatura: use o controlo de deslize ou a caixa de texto para introduzir um valor para a temperatura.
A temperatura é usada para a amostragem durante a geração de respostas, que ocorre quando
topP
etopK
são aplicados. A temperatura controla o grau de aleatoriedade na seleção de tokens. As temperaturas mais baixas são adequadas para comandos que requerem uma resposta menos aberta ou criativa, enquanto as temperaturas mais altas podem gerar resultados mais diversos ou criativos. Uma temperatura de0
significa que os tokens de probabilidade mais elevada são sempre selecionados. Neste caso, as respostas para um determinado comando são maioritariamente determinísticas, mas ainda é possível uma pequena variação.Se o modelo devolver uma resposta demasiado genérica, demasiado curta ou uma resposta alternativa, experimente aumentar a temperatura.
Limite de tokens de saída: use o controlo de deslize ou a caixa de texto para introduzir um valor para o limite máximo de saída.
Número máximo de tokens que podem ser gerados na resposta. Um token tem aproximadamente quatro carateres. 100 tokens correspondem a aproximadamente 60 a 80 palavras.
Especifique um valor inferior para respostas mais curtas e um valor superior para respostas potencialmente mais longas.
Adicione a sequência de paragens: opcional. Introduza uma sequência de paragem, que é uma série de carateres que inclui espaços. Se o modelo encontrar uma sequência de paragem, a geração de respostas é interrompida. A sequência de paragens não está incluída na resposta, e pode adicionar até cinco sequências de paragens.
Opcional: para configurar parâmetros avançados, clique em Avançadas e configure da seguinte forma:
Clique para expandir as configurações avançadas
Top-K: use o controlo de deslize ou a caixa de texto para introduzir um valor para o top-K. (não suportado para o Gemini 1.5).
O Top-K altera a forma como o modelo seleciona tokens para a saída. Um top-K de1
significa que o token selecionado seguinte é o mais provável entre todos os tokens no vocabulário do modelo (também denominado descodificação gananciosa), enquanto um top-K de3
significa que o token seguinte é selecionado entre os três tokens mais prováveis através da temperatura.Para cada passo de seleção de tokens, são amostrados os K principais tokens com as probabilidades mais elevadas. Em seguida, os tokens são filtrados com base no top-P, com o token final selecionado através da amostragem de temperatura.
Especifique um valor inferior para respostas menos aleatórias e um valor superior para respostas mais aleatórias.
- Top-P: use o controlo de deslize ou a caixa de texto para introduzir um valor para o top-P.
Os tokens são selecionados do mais provável para o menos provável até que a soma das respetivas probabilidades seja igual ao valor de top-P. Para obter os resultados menos variáveis,
defina o top-P como
0
. - Respostas máximas: use o controlo de deslize ou a caixa de texto para introduzir um valor para o número de respostas a gerar.
- Respostas graduais: ative esta opção para imprimir as respostas à medida que são geradas.
- Limite do filtro de segurança: selecione o limite da probabilidade de ver respostas que possam ser prejudiciais.
- Ativar fundamentação: a fundamentação não é suportada para comandos multimodais.
Clique em Inserir multimédia e selecione uma origem para o ficheiro.
Carregar
Selecione o ficheiro que quer carregar e clique em Abrir.
Por URL
Introduza o URL do ficheiro que quer usar e clique em Inserir.
Cloud Storage
Selecione o contentor e, de seguida, o ficheiro do contentor que quer importar e clique em Selecionar.
Google Drive
- Escolha uma conta e dê o seu consentimento ao Vertex AI Studio para aceder à sua conta na primeira vez que selecionar esta opção. Pode carregar vários ficheiros com um tamanho total de até 10 MB. Um único ficheiro não pode exceder os 7 MB.
- Clique no ficheiro que quer adicionar.
Clique em Selecionar.
A miniatura do ficheiro é apresentada no painel Comando. Também é apresentado o número total de tokens. Se os dados dos comandos excederem o limite de tokens, os tokens são truncados e não são incluídos no processamento dos seus dados.
Introduza o comando de texto no painel Comando.
Opcional: para ver o ID do token para texto e os IDs dos tokens, clique na contagem de tokens no painel Comando.
Clique em Enviar.
Opcional: para guardar o comando em Os meus comandos, clique em
Guardar.Opcional: para obter o código Python ou um comando curl para o seu comando, clique em
Obter código.
Python
Instalação
pip install --upgrade google-genai
Para saber mais, consulte a documentação de referência do SDK.
Defina variáveis de ambiente para usar o SDK de IA gen com o Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
Go
Saiba como instalar ou atualizar o Go.
Para saber mais, consulte a documentação de referência do SDK.
Defina variáveis de ambiente para usar o SDK de IA gen com o Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
Node.js
Instalação
npm install @google/genai
Para saber mais, consulte a documentação de referência do SDK.
Defina variáveis de ambiente para usar o SDK de IA gen com o Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
Java
Saiba como instalar ou atualizar o Java.
Para saber mais, consulte a documentação de referência do SDK.
Defina variáveis de ambiente para usar o SDK de IA gen com o Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
REST
Depois de configurar o seu ambiente, pode usar a API REST para testar um comando de texto. O exemplo seguinte envia um pedido para o ponto final do modelo do publicador.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT_ID
: .FILE_URI1
: O URI ou o URL do ficheiro a incluir no comando. Os valores aceitáveis incluem o seguinte:- URI do contentor do Cloud Storage: o objeto tem de ser legível publicamente ou residir no mesmo projeto Google Cloud que está a enviar o pedido. Para
gemini-2.0-flash
egemini-2.0-flash-lite
, o limite de tamanho é de 2 GB. - URL HTTP: o URL do ficheiro tem de ser legível publicamente. Pode especificar um ficheiro de vídeo, um ficheiro de áudio e até 10 ficheiros de imagem por pedido. Os ficheiros de áudio, os ficheiros de vídeo e os documentos não podem exceder os 15 MB.
- URL do vídeo do YouTube: o vídeo do YouTube tem de ser propriedade da conta que usou para iniciar sessão na Google Cloud consola ou ser público. Apenas é suportado um URL de vídeo do YouTube por pedido.
Quando especifica um
fileURI
, também tem de especificar o tipo de suporte (mimeType
) do ficheiro. Se o VPC Service Controls estiver ativado, a especificação de um URL de ficheiro multimédia parafileURI
não é suportada.Se não tiver um ficheiro de imagem no Cloud Storage, pode usar o seguinte ficheiro disponível publicamente:
gs://cloud-samples-data/vertex-ai/llm/prompts/landmark1.png
com um tipo MIME deimage/png
. Para ver esta imagem, abra o ficheiro de imagem de exemplo.- URI do contentor do Cloud Storage: o objeto tem de ser legível publicamente ou residir no mesmo projeto Google Cloud que está a enviar o pedido. Para
MIME_TYPE
: o tipo de suporte do ficheiro especificado nos camposdata
oufileUri
Os valores aceitáveis incluem o seguinte:Clique para expandir os tipos MIME
application/pdf
audio/mpeg
audio/mp3
audio/wav
image/png
image/jpeg
image/webp
text/plain
video/mov
video/mpeg
video/mp4
video/mpg
video/avi
video/wmv
video/mpegps
video/flv
TEXT1
: As instruções de texto a incluir no comando. Por exemplo,city: Rome, Landmark: the Colosseum
FILE_URI2
: O URI ou o URL do ficheiro a incluir no comando. Os valores aceitáveis incluem o seguinte:- URI do contentor do Cloud Storage: o objeto tem de ser legível publicamente ou residir no mesmo projeto Google Cloud que está a enviar o pedido. Para
gemini-2.0-flash
egemini-2.0-flash-lite
, o limite de tamanho é de 2 GB. - URL HTTP: o URL do ficheiro tem de ser legível publicamente. Pode especificar um ficheiro de vídeo, um ficheiro de áudio e até 10 ficheiros de imagem por pedido. Os ficheiros de áudio, os ficheiros de vídeo e os documentos não podem exceder os 15 MB.
- URL do vídeo do YouTube: o vídeo do YouTube tem de ser propriedade da conta que usou para iniciar sessão na Google Cloud consola ou ser público. Apenas é suportado um URL de vídeo do YouTube por pedido.
Quando especifica um
fileURI
, também tem de especificar o tipo de suporte (mimeType
) do ficheiro. Se o VPC Service Controls estiver ativado, a especificação de um URL de ficheiro multimédia parafileURI
não é suportada.Se não tiver um ficheiro de imagem no Cloud Storage, pode usar o seguinte ficheiro disponível publicamente:
gs://cloud-samples-data/vertex-ai/llm/prompts/landmark2.png
com um tipo MIME deimage/png
. Para ver esta imagem, abra o ficheiro de imagem de exemplo.- URI do contentor do Cloud Storage: o objeto tem de ser legível publicamente ou residir no mesmo projeto Google Cloud que está a enviar o pedido. Para
TEXT2
: As instruções de texto a incluir no comando. Por exemplo,city: Beijing, Landmark: Forbidden City
FILE_URI3
: O URI ou o URL do ficheiro a incluir no comando. Os valores aceitáveis incluem o seguinte:- URI do contentor do Cloud Storage: o objeto tem de ser legível publicamente ou residir no mesmo projeto Google Cloud que está a enviar o pedido. Para
gemini-2.0-flash
egemini-2.0-flash-lite
, o limite de tamanho é de 2 GB. - URL HTTP: o URL do ficheiro tem de ser legível publicamente. Pode especificar um ficheiro de vídeo, um ficheiro de áudio e até 10 ficheiros de imagem por pedido. Os ficheiros de áudio, os ficheiros de vídeo e os documentos não podem exceder os 15 MB.
- URL do vídeo do YouTube: o vídeo do YouTube tem de ser propriedade da conta que usou para iniciar sessão na Google Cloud consola ou ser público. Apenas é suportado um URL de vídeo do YouTube por pedido.
Quando especifica um
fileURI
, também tem de especificar o tipo de suporte (mimeType
) do ficheiro. Se o VPC Service Controls estiver ativado, a especificação de um URL de ficheiro multimédia parafileURI
não é suportada.Se não tiver um ficheiro de imagem no Cloud Storage, pode usar o seguinte ficheiro disponível publicamente:
gs://cloud-samples-data/vertex-ai/llm/prompts/landmark3.png
com um tipo MIME deimage/png
. Para ver esta imagem, abra o ficheiro de imagem de exemplo.- URI do contentor do Cloud Storage: o objeto tem de ser legível publicamente ou residir no mesmo projeto Google Cloud que está a enviar o pedido. Para
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro denominado request.json
.
Execute o seguinte comando no terminal para criar ou substituir
este ficheiro no diretório atual:
cat > request.json << 'EOF' { "contents": { "role": "USER", "parts": [ { "fileData": { "fileUri": "FILE_URI1", "mimeType": "MIME_TYPE" } }, { "text": "TEXT1" }, { "fileData": { "fileUri": "FILE_URI2", "mimeType": "MIME_TYPE" } }, { "text": "TEXT2" }, { "fileData": { "fileUri": "FILE_URI3", "mimeType": "MIME_TYPE" } } ] } } EOF
Em seguida, execute o seguinte comando para enviar o seu pedido REST:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-2.5-flash:generateContent"
PowerShell
Guarde o corpo do pedido num ficheiro denominado request.json
.
Execute o seguinte comando no terminal para criar ou substituir
este ficheiro no diretório atual:
@' { "contents": { "role": "USER", "parts": [ { "fileData": { "fileUri": "FILE_URI1", "mimeType": "MIME_TYPE" } }, { "text": "TEXT1" }, { "fileData": { "fileUri": "FILE_URI2", "mimeType": "MIME_TYPE" } }, { "text": "TEXT2" }, { "fileData": { "fileUri": "FILE_URI3", "mimeType": "MIME_TYPE" } } ] } } '@ | Out-File -FilePath request.json -Encoding utf8
Em seguida, execute o seguinte comando para enviar o seu pedido REST:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-2.5-flash:generateContent" | Select-Object -Expand Content
Deve receber uma resposta JSON semelhante à seguinte.
Tenha em atenção o seguinte no URL deste exemplo:- Use o método
generateContent
para pedir que a resposta seja devolvida após a geração completa. Para reduzir a perceção de latência para um público humano, transmita a resposta à medida que está a ser gerada através do métodostreamGenerateContent
. - O ID do modelo multimodal encontra-se no final do URL antes do método
(por exemplo,
gemini-2.0-flash
). Este exemplo também pode suportar outros modelos.
Defina parâmetros do modelo opcionais
Cada modelo tem um conjunto de parâmetros opcionais que pode definir. Para mais informações, consulte o artigo Parâmetros de geração de conteúdo.
Tokenização de imagens
Veja como são calculados os tokens para imagens:
- Se ambas as dimensões de uma imagem forem inferiores ou iguais a 384 píxeis, são usados 258 tokens.
- Se uma dimensão de uma imagem for superior a 384 píxeis, a imagem é recortada em mosaicos. O tamanho de cada mosaico é predefinido para a menor dimensão (largura ou altura) dividida por 1,5. Se necessário, cada mosaico é ajustado para que não tenha menos de 256 píxeis nem mais de 768 píxeis. Em seguida, cada mosaico é redimensionado para 768 x 768 e usa 258 tokens.
Práticas recomendadas
Quando usar imagens, siga as práticas recomendadas e as informações abaixo para obter os melhores resultados:
- Se quiser detetar texto numa imagem, use comandos com uma única imagem para produzir melhores resultados do que comandos com várias imagens.
- Se o comando contiver uma única imagem, coloque-a antes do comando de texto no seu pedido.
- Se o seu comando contiver várias imagens e quiser referir-se a elas mais tarde no comando ou que o modelo se refira a elas na resposta do modelo, pode ser útil atribuir um índice a cada imagem antes da imagem. Use
oua
b
c
para o seu índice. Segue-se um exemplo de utilização de imagens indexadas num comando:image 1
image 2
image 3
image 1
image 2 image 3 Write a blogpost about my day using image 1 and image 2. Then, give me ideas for tomorrow based on image 3. - Use imagens com uma resolução mais elevada, pois produzem melhores resultados.
- Inclua alguns exemplos no comando.
- Rode as imagens para a orientação adequada antes de as adicionar ao comando.
- Evite imagens esbatidas.
Limitações
Embora os modelos multimodais do Gemini sejam poderosos em muitos exemplos de utilização multimodal, é importante compreender as limitações dos modelos:
- Moderação de conteúdo: os modelos recusam-se a fornecer respostas em imagens que violam as nossas políticas de segurança.
- Raciocínio espacial: os modelos não são precisos na localização de texto ou objetos em imagens. Podem devolver apenas as contagens aproximadas de objetos.
- Usos médicos: os modelos não são adequados para interpretar imagens médicas (por exemplo, radiografias e tomografias computorizadas) nem fornecer aconselhamento médico.
- Reconhecimento de pessoas: os modelos não se destinam a ser usados para identificar pessoas que não sejam celebridades em imagens.
- Precisão: os modelos podem ter alucinações ou cometer erros ao interpretar imagens de baixa qualidade, rodadas ou de resolução extremamente baixa. Os modelos também podem ter alucinações ao interpretar texto manuscrito em documentos de imagens.
O que se segue?
- Comece a criar com os modelos multimodais do Gemini. Os novos clientes recebem 300 $em Google Cloud créditos sem custo financeiro para explorar o que podem fazer com o Gemini.
- Saiba como enviar pedidos de comandos de chat.
- Saiba mais sobre as práticas recomendadas de IA responsável e os filtros de segurança da Vertex AI.