Use generateContent
ou streamGenerateContent
para gerar conteúdo com o Gemini.
A fam��lia de modelos Gemini inclui modelos que funcionam com pedidos de comandos multimodais. O termo multimodal indica que pode usar mais do que uma modalidade ou um tipo de entrada num comando. Os modelos que não são multimodais aceitam comandos apenas com texto. As modalidades podem incluir texto, áudio, vídeo e muito mais.
Crie uma Google Cloud conta para começar
Para começar a usar a API Gemini no Vertex AI, crie uma Google Cloud conta.
Depois de criar a sua conta, use este documento para rever o corpo do pedido do modelo Gemini, os parâmetros do modelo, o corpo da resposta e alguns pedidos de exemplo.
Quando estiver tudo pronto, consulte o guia de início rápido da API Gemini no Vertex AI para saber como enviar um pedido para a API Gemini no Vertex AI através de um SDK de linguagem de programação ou da API REST.
Modelos suportados
Todos os modelos Gemini suportam a geração de conteúdo.
Lista de parâmetros
Consulte exemplos para ver detalhes de implementação.
Corpo do pedido
{ "cachedContent": string, "contents": [ { "role": string, "parts": [ { // Union field data can be only one of the following: "text": string, "inlineData": { "mimeType": string, "data": string }, "fileData": { "mimeType": string, "fileUri": string }, // End of list of possible types for union field data. "videoMetadata": { "startOffset": { "seconds": integer, "nanos": integer }, "endOffset": { "seconds": integer, "nanos": integer }, "fps": double } } ] } ], "systemInstruction": { "role": string, "parts": [ { "text": string } ] }, "tools": [ { "functionDeclarations": [ { "name": string, "description": string, "parameters": { object (OpenAPI Object Schema) } } ] } ], "safetySettings": [ { "category": enum (HarmCategory), "threshold": enum (HarmBlockThreshold) } ], "generationConfig": { "temperature": number, "topP": number, "topK": number, "candidateCount": integer, "maxOutputTokens": integer, "presencePenalty": float, "frequencyPenalty": float, "stopSequences": [ string ], "responseMimeType": string, "responseSchema": schema, "seed": integer, "responseLogprobs": boolean, "logprobs": integer, "audioTimestamp": boolean, "thinkingConfig": { "thinkingBudget": integer } }, "labels": { string: string } }
O corpo do pedido contém dados com os seguintes parâmetros:
Parâmetros | |
---|---|
| Opcional:
O nome do conteúdo em cache usado como contexto para
apresentar a previsão. Formato:
|
|
Obrigatório: O conteúdo da conversa atual com o modelo. Para consultas de uma única interação, trata-se de uma única instância. Para consultas com várias interações, este é um campo repetido que contém o histórico de conversas e o pedido mais recente. |
|
Opcional: Disponível para Instruções para o modelo que o orientam para um melhor desempenho. Por exemplo, "Responde da forma mais concisa possível" ou "Não uses termos técnicos na tua resposta". As strings O campo |
|
Opcional. Um fragmento de código que permite ao sistema interagir com sistemas externos para realizar uma ação ou um conjunto de ações fora do conhecimento e do âmbito do modelo. Consulte o artigo Chamada de funções. |
|
Opcional. Consulte o artigo Chamada de funções. |
|
Opcional: Definições por pedido para bloquear conteúdo inseguro. Aplicada a |
|
Opcional: Definições de configuração da geração. |
|
Opcional: Metadados que pode adicionar à chamada da API no formato de pares de chave-valor. |
contents
O tipo de dados estruturados base que contém conteúdo multipartes de uma mensagem.
Esta classe é constituída por duas propriedades principais: role
e parts
. A propriedade role
denota o indivíduo que produz o conteúdo, enquanto a propriedade parts
contém vários elementos, cada um representando um segmento de dados numa mensagem.
Parâmetros | |
---|---|
|
A identidade da entidade que cria a mensagem. Os seguintes valores são suportados:
O valor |
|
Uma lista de partes ordenadas que compõem uma única mensagem. As diferentes partes podem ter diferentes tipos MIME da IANA. Para ver os limites das entradas, como o número máximo de tokens ou o número de imagens, consulte as especificações do modelo na página Modelos Google. Para calcular o número de tokens no seu pedido, consulte o artigo Obtenha a contagem de tokens. |
parts
Um tipo de dados que contém conteúdo multimédia que faz parte de uma mensagem Content
multipartes.
Parâmetros | |
---|---|
|
Opcional: Um comando de texto ou um fragmento do código. |
|
Opcional: Dados inline em bytes não processados. Para |
|
Opcional: Dados armazenados num ficheiro. |
|
Opcional: Contém uma string que representa o campo Consulte o artigo Chamada de funções. |
|
Opcional: O resultado de uma Consulte o artigo Chamada de funções. |
|
Opcional: Para a entrada de vídeo, o desvio de início e fim do vídeo no formato Duração e a velocidade de frames do vídeo . Por exemplo, para especificar um clipe de 10 segundos que começa às 1:00 com uma taxa de frames de 10 frames por segundo, defina o seguinte:
Os metadados só devem ser especificados enquanto os dados de vídeo são apresentados em |
blob
Blob de conteúdo. Se possível, envie como texto em vez de bytes não processados.
Parâmetros | |
---|---|
|
data ou fileUri . Os valores aceitáveis incluem o seguinte:
Clique para expandir os tipos MIME
Para Os ficheiros de texto têm de estar codificados em UTF-8. O conteúdo do ficheiro de texto conta para o limite de tokens. Não existe limite para a resolução das imagens. |
|
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 ( Limite de tamanho: 20 MB |
FileData
Dados de URI ou URL da Web.
Parâmetros | |
---|---|
|
Tipo MIME IANA dos dados. |
|
O URI ou o URL do ficheiro a incluir no comando. Os valores aceitáveis incluem o seguinte:
Quando especifica um |
functionCall
Um functionCall
previsto devolvido pelo modelo que contém uma string
que representa o functionDeclaration.name
e um objeto JSON estruturado
que contém os parâmetros e os respetivos valores.
Parâmetros | |
---|---|
|
O nome da função a chamar. |
|
Os parâmetros e os valores da função no formato de objeto JSON. Consulte o artigo Chamada de funções para ver detalhes dos parâmetros. |
functionResponse
O resultado de um FunctionCall
que contém uma string que representa o FunctionDeclaration.name
. Também contém um objeto JSON estruturado com o resultado da função (e usa-o como contexto para o modelo). Este deve conter o resultado de um FunctionCall
feito com base na previsão do modelo.
Parâmetros | |
---|---|
|
O nome da função a chamar. |
|
A resposta da função no formato de objeto JSON. |
videoMetadata
Metadados que descrevem o conteúdo de vídeo de entrada.
Parâmetros | |
---|---|
|
Opcional: O desvio de início do vídeo. |
|
Opcional: O desvio do fim do vídeo. |
|
Opcional:
A velocidade de frames do vídeo enviado ao modelo. A predefinição é
|
safetySetting
Definições de segurança.
Parâmetros | |
---|---|
|
Opcional:
A categoria de segurança para a qual configurar um limite. Os valores aceitáveis incluem o seguinte:
Clique para expandir as categorias de segurança
|
|
Opcional: O limite para bloquear respostas que possam pertencer à categoria de segurança especificada com base na probabilidade.
|
|
Opcional: Especifique se o limite é usado para a probabilidade ou a gravidade. Se não for especificado, o limite é usado para a pontuação de probabilidade. |
harmCategory
Categorias de danos que bloqueiam conteúdo.
Parâmetros | |
---|---|
|
A categoria de danos não está especificada. |
|
A categoria de conteúdo prejudicial é incitamento ao ódio. |
|
A categoria de danos é conteúdo perigoso. |
|
A categoria de danos é assédio. |
|
A categoria de dano é conteúdo sexualmente explícito. |
harmBlockThreshold
Níveis de limiares de probabilidade usados para bloquear uma resposta.
Parâmetros | |
---|---|
|
Limite de bloqueio de danos não especificado. |
|
Bloquear o limite inferior e superior (ou seja, bloquear mais). |
|
Bloquear o limite médio e superior. |
|
Bloqueie apenas o limite elevado (ou seja, bloqueie menos). |
|
Não bloquear nada. |
|
Desativa a segurança se todas as categorias estiverem DESATIVADAS |
harmBlockMethod
Um limiar de probabilidade que bloqueia uma resposta com base numa combinação de probabilidade e gravidade.
Parâmetros | |
---|---|
|
O método de bloqueio de danos não está especificado. |
|
O método de bloqueio de danos usa pontuações de probabilidade e gravidade. |
|
O método de bloqueio de danos usa a pontuação de probabilidade. |
generationConfig
Definições de configuração usadas ao gerar o comando.
Parâmetros | |
---|---|
|
Opcional:
A temperatura é usada para a amostragem durante a geração de respostas, que ocorre quando Se o modelo devolver uma resposta demasiado genérica, demasiado curta ou uma resposta alternativa, experimente aumentar a temperatura.
Para mais informações, consulte os parâmetros de geração de conteúdo. |
|
Opcional: Se for especificado, é usada a amostragem do núcleo. O Top-P altera a forma como o modelo seleciona tokens para a saída. Os tokens são selecionados do mais (ver top-K) para o menos provável até que a soma das respetivas probabilidades seja igual ao valor top-P. Por exemplo, se os tokens A, B e C tiverem uma probabilidade de 0,3, 0,2 e 0,1, e o valor top-P for Especifique um valor inferior para respostas menos aleatórias e um valor superior para respostas mais aleatórias.
|
|
Opcional: O número de variações de respostas a devolver. Para cada pedido, são-lhe cobrados os tokens de saída de todos os candidatos, mas só lhe são cobrados uma vez os tokens de entrada. A especificação de vários candidatos é uma funcionalidade de pré-visualização que funciona com
|
|
Opcional: int 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. Para mais informações, consulte os parâmetros de geração de conteúdo. |
|
Opcional:
Especifica uma lista de strings que indica ao modelo para parar de gerar texto se for encontrada uma das strings na resposta. Se uma string aparecer várias vezes na resposta, a resposta é truncada no local onde é encontrada pela primeira vez.
As strings são sensíveis a maiúsculas e minúsculas.
Máximo de 5 itens na lista. Para mais informações, consulte os parâmetros de geração de conteúdo. |
|
Opcional: Penalizações positivas. Os valores positivos penalizam os tokens que já aparecem no texto gerado, aumentando a probabilidade de gerar conteúdo mais diversificado. O valor máximo de |
|
Opcional: Os valores positivos penalizam os tokens que aparecem repetidamente no texto gerado, diminuindo a probabilidade de repetir conteúdo. Este valor máximo de |
|
Opcional: O tipo MIME da resposta de saída do texto candidato gerado. Os seguintes tipos MIME são suportados:
Especifique o tipo de resposta adequado para evitar comportamentos não intencionais. Por exemplo, se precisar de uma resposta formatada em JSON, especifique text/plain não é suportado para utilização com o responseSchema . |
|
Opcional: schema O esquema que o texto candidato gerado tem de seguir. Para mais informações, consulte o artigo Controle o resultado gerado. Para usar este parâmetro, tem de especificar um tipo MIME suportado diferente de |
|
Opcional: Quando a semente é fixada num valor específico, o modelo faz o seu melhor para fornecer a mesma resposta para pedidos repetidos. O resultado determinístico não é garantido. Além disso, a alteração das definições do modelo ou dos parâmetros, como a temperatura, pode provocar variações na resposta, mesmo quando usa o mesmo valor de semente. Por predefinição, é usado um valor de semente aleatório. |
|
Opcional: Se for verdadeiro, devolve as probabilidades logarítmicas dos tokens escolhidos pelo modelo em cada passo. Por predefinição, este parâmetro está definido como
|
|
Opcional:
Devolve as probabilidades de registo dos tokens candidatos principais em cada passo de geração. O token escolhido pelo modelo pode não ser o mesmo que o token candidato principal em cada passo. Especifique o número de candidatos a devolver usando um valor inteiro no intervalo de Tem de ativar
|
|
Opcional: Disponível para os seguintes modelos:
Ativa a compreensão da data/hora para ficheiros apenas de áudio. Esta é uma funcionalidade de pré-visualização. |
|
Opcional: Configuração do processo de raciocínio do modelo para os modelos Gemini 2.5. O objeto
|
Corpo da resposta
{ "candidates": [ { "content": { "parts": [ { "text": string } ] }, "finishReason": enum (FinishReason), "safetyRatings": [ { "category": enum (HarmCategory), "probability": enum (HarmProbability), "blocked": boolean } ], "citationMetadata": { "citations": [ { "startIndex": integer, "endIndex": integer, "uri": string, "title": string, "license": string, "publicationDate": { "year": integer, "month": integer, "day": integer } } ] }, "avgLogprobs": double, "logprobsResult": { "topCandidates": [ { "candidates": [ { "token": string, "logProbability": float } ] } ], "chosenCandidates": [ { "token": string, "logProbability": float } ] } } ], "usageMetadata": { "promptTokenCount": integer, "candidatesTokenCount": integer, "totalTokenCount": integer }, "modelVersion": string }
Elemento de resposta | Descrição |
---|---|
modelVersion |
O modelo e a versão usados para a geração. Por exemplo:
gemini-2.0-flash-lite-001 . |
text |
O texto gerado. |
finishReason |
O motivo pelo qual o modelo parou de gerar tokens. Se estiver vazio, o modelo
não parou de gerar os tokens. Uma vez que a resposta usa o comando para contexto, não é possível alterar o comportamento da forma como o modelo para de gerar tokens.
|
category |
A categoria de segurança para a qual configurar um limite. Os valores aceitáveis incluem o seguinte:
Clique para expandir as categorias de segurança
|
probability |
Os níveis de probabilidade de danos no conteúdo.
|
blocked |
Uma sinalização booleana associada a um atributo de segurança que indica se a entrada ou a saída do modelo foi bloqueada. |
startIndex |
Um número inteiro que especifica onde começa uma citação no elemento content . O elemento startIndex está em bytes e é calculado a partir da resposta codificada em UTF-8.
|
endIndex |
Um número inteiro que especifica onde termina uma citação no content . O elemento endIndex está em bytes e é calculado a partir da resposta codificada em UTF-8.
|
url |
O URL de uma fonte de citação. Exemplos de uma origem de URL podem ser um Website de notícias ou um repositório do GitHub. |
title |
O título de uma fonte de citação. Alguns exemplos de títulos de origem podem ser o de um artigo de notícias ou um livro. |
license |
A licença associada a uma citação. |
publicationDate |
A data em que uma citação foi publicada. Os formatos válidos são
YYYY , YYYY-MM e YYYY-MM-DD .
|
avgLogprobs |
Probabilidade logarítmica média do candidato. |
logprobsResult |
Devolve os tokens candidatos principais (topCandidates ) e os tokens escolhidos reais (chosenCandidates ) em cada passo. |
token |
Os modelos de IA generativa dividem os dados de texto em tokens para processamento, que podem ser carateres, palavras ou expressões. |
logProbability |
Um valor de probabilidade de registo que indica a confiança do modelo para um token específico. |
promptTokenCount |
Número de tokens no pedido. |
candidatesTokenCount |
Número de tokens nas respostas. |
totalTokenCount |
Número de tokens no pedido e nas respostas. |
Exemplos
Geração de texto
Gerar uma resposta de texto a partir de uma entrada de texto.
SDK de IA gen para Python
Python (OpenAI)
Pode chamar a API Inference através da biblioteca OpenAI. Para mais informações, consulte o artigo Chame modelos da Vertex AI através da biblioteca OpenAI.
Ir
Usar comando multimodal
Gerar uma resposta de texto a partir de uma entrada multimodal, como texto e uma imagem.
SDK de IA gen para Python
Python (OpenAI)
Pode chamar a API Inference através da biblioteca OpenAI. Para mais informações, consulte o artigo Chame modelos da Vertex AI através da biblioteca OpenAI.
Ir
Resposta de texto de streaming
Gere uma resposta de modelo de streaming a partir de uma entrada de texto.
SDK de IA gen para Python
Python (OpenAI)
Pode chamar a API Inference através da biblioteca OpenAI. Para mais informações, consulte o artigo Chame modelos da Vertex AI através da biblioteca OpenAI.
Ir
Versões do modelo
Para usar a versão atualizada automaticamente,
especifique o nome do modelo sem o número da versão final, por exemplo, gemini-2.0-flash
em vez de gemini-2.0-flash-001
.
Para mais informações, consulte o artigo Ciclo de vida e versões do modelo Gemini.
O que se segue?
- Saiba mais sobre a API Gemini no Vertex AI.
- Saiba mais sobre a chamada de funções.
- Saiba mais sobre a fundamentação das respostas para os modelos Gemini.