A API Gemini permite incluir entradas multimodais, como texto, imagens e vídeo, como parte do comando para os modelos do Gemini. Nesta página, apresentamos as práticas recomendadas para criar comandos multimodais e como resolver problemas se eles não estiverem funcionando como esperado. Para orientações gerais sobre design de comandos, consulte nossas estratégias recomendadas de design de comandos ou a lista a seguir de práticas recomendadas específicas para multimodalidade.
conceitos básicos do design de comandos
As seções a seguir descrevem as práticas recomendadas fundamentais para criar comandos multimodais eficazes.
Use instruções específicas
Comandos claros e detalhados geram os melhores resultados. Se você tiver uma saída específica em mente, inclua esse requisito no comando para aumentar a probabilidade de receber a saída correta.
Mesmo quando um comando parece claro para a pessoa que o escreveu, ele pode ser pouco específico. Para personalizar o comportamento do modelo, analise como o comando pode ser interpretado e verifique se as instruções fornecidas são claras e específicas.
Se você incluir a imagem dessa placa de aeroporto no comando, pedir ao modelo apenas para "descrever esta imagem" pode gerar uma descrição geral. Se você precisa que o modelo analise a hora e a cidade a partir da imagem, inclua essa solicitação diretamente no comando.
| Comando | Resposta do modelo |
|---|---|
Descreva esta imagem. |
A imagem mostra um painel de chegadas e partidas do aeroporto. |
| Comando atualizado | Resposta aprimorada |
|---|---|
Analise a hora e a cidade no quadro do aeroporto mostrado nesta imagem em uma lista. |
|
Adicionar exemplos
O modelo pode aceitar várias entradas para usar como exemplos para entender a saída que você quer. Adicionar esses exemplos pode ajudar o modelo a identificar os padrões e aplicar a relação entre as imagens fornecidas e as respostas ao novo exemplo. Isso é chamado de aprendizado com poucos exemplos (few-shot).
No exemplo a seguir, a saída inicial é uma frase completa que também contém o país (Brasil). Se a saída preferida for apenas a cidade, não o país, adicionar exemplos few-shot ao comando pode orientar o modelo a responder nesse formato.
| Comando | Resposta do modelo |
|---|---|
Determine a cidade e o ponto turístico. |
O ponto turístico é a estátua do Cristo Redentor no Rio de Janeiro, Brasil. |
| Comando atualizado | Resposta aprimorada |
|---|---|
|
Determine a cidade e o ponto turístico.
|
cidade: Roma, ponto de referência: o Coliseu. |
|
cidade: Pequim, ponto de referência: Cidade Proibida |
|
cidade: Rio de Janeiro, ponto de referência: estátua do Cristo Redentor |
Dividir tarefas complexas em tarefas menores
Para tarefas complexas, como as que exigem compreensão e raciocínio visual, divida a tarefa em etapas menores e mais diretas ou peça diretamente ao modelo para pensar por etapas no comando.
| Comando | Resposta do modelo |
|---|---|
Quando vou ficar sem papel higiênico? |
Em breve, você só tem mais três rolos. |
| Comando atualizado | Resposta aprimorada |
|---|---|
|
|
Problemas matemáticos ou outros tipos de problemas também podem ser divididos em tarefas menores.
| Comando | Resposta |
|---|---|
Qual é o quarto termo na sequência? |
-135 |
A resposta do modelo está incorreta. Peça ao modelo para analisar o problema antes de responder ao comando.
| Comando | Resposta |
|---|---|
Analise a fórmula na imagem primeiro. Depois, com base na fórmula, responda "qual é o quarto termo na sequência?". |
Clique para abrir o resultado$$b(n) = b(n-1) * (-3)$$ $$b(1) = 15$$
Portanto, o quarto termo na sequência é -405. |
Para simplificar ainda mais a resposta, peça ao modelo que pense no comando por etapas.
| Comando atualizado | Resposta aprimorada |
|---|---|
Qual é o quarto termo na sequência? Pense em etapas. |
O primeiro termo é 15. O segundo termo é b(1) * (-3) = 15 * (-3) = -45. O terceiro termo é b(2) * (-3) = -45 * (-3) = 135. O quarto termo é b(3) * (-3) = 135 * (-3) = -405. |
especifique o formato das respostas
Quando um determinado formato é necessário, você pode instruir o modelo a usar esse formato para a saída.
| Comando | Resposta do modelo |
|---|---|
Analise a tabela nesta imagem no formato Markdown |
| Subject | Status | Time | Start date | Due on |
|-----------|-------------|---------|------------|------------|
| Math | Done | 1.5 hrs | 11/29/2023 | 12/1/2023 |
| Geography | Done | 30 min | 12/2/2023 | 12/4/2023 |
| Physics | In progress | 2 hrs | 12/3/2023 | 12/5/2023 |
| Biology | Not started | 6 hrs | 11/2/2016 | 12/6/2023 |
|
| Comando | Resposta do modelo |
|---|---|
Forneça uma lista com todos os atributos a seguir: Ingredientes, tipo de culinária, vegetariano ou não, no formato JSON |
|
Resolver problemas de um comando multimodal
A solução de problemas de um comando pode envolver a melhoria da linguagem, o direcionamento do foco ou o ajuste de parâmetros. Essas abordagens diferentes podem levar a resultados melhores, especialmente depois de determinar a causa raiz do problema.
Focar na parte relevante de uma imagem
Para melhorar a resposta, indique quais partes da imagem são mais relevantes para o comando.
| Comando | Resposta do modelo |
|---|---|
Quantos dias essas fraldas vão durar para um bebê? |
As fraldas durarão 198 dias antes de acabarem. |
| Comando atualizado | Resposta aprimorada |
|---|---|
Essas fraldas vão durar quanto tempo? Determine a idade da criança e o número total de fraldas na caixa com base no peso total. Divida o total pelo número de fraldas usadas diariamente por uma criança. |
A caixa contém 198 fraldas. Ela também informa que as fraldas são para crianças que pesam de 9 a 16 quilos. Crianças nessa faixa de peso geralmente têm de 1 a 2 anos de idade. Uma criança de dois anos costuma usar 6 fraldas por dia, logo, as fraldas vão durar cerca de 33 dias (198/6). |
Personalizar a resposta do modelo à entrada
Peça para o modelo descrever as imagens antes de realizar a tarefa no comando.
| Comando | Resposta do modelo |
|---|---|
O que há em comum entre essas imagens? |
As quatro imagens são exemplos de fotografia de paisagem. |
| Comando atualizado | Resposta aprimorada |
|---|---|
Primeiro, descreva o que está em cada imagem em detalhes. O que há em comum entre essas imagens? |
A primeira imagem mostra uma pessoa fazendo as malas. A segunda imagem mostra um corredor vazio de um shopping. A terceira imagem mostra um rolo de papel higiênico. A quarta imagem mostra um mar escuro e tempestuoso. O ponto em comum entre essas imagens é que todas são exemplos de espaços liminais. Espaços liminais são lugares ou situações que estão entre dois outros lugares ou situações. Elas costumam ser caracterizadas por um senso de incerteza ou ambiguidade. A primeira imagem mostra a pessoa entre o momento em que está em casa e viajando. A segunda imagem mostra o corredor entre duas lojas. A terceira imagem é de papel higiênico, que pode representar um banheiro. Um banheiro é um espaço de transição entre domínios privados e públicos. É um lugar onde nos preparamos para entrar ou sair do mundo exterior. A quarta imagem mostra o mar entre calmo e tempestuoso. Espaços liminais podem ser empolgantes e perturbadores. Eles podem ser um lugar de recomeço ou de fim. Eles podem ser um local de reflexão ou ação. |
Você pode pedir explicitamente ao modelo para se referir ao que está na imagem.
| Comando atualizado | Resposta aprimorada |
|---|---|
O que há em comum entre essas imagens? Consulte o que está nas imagens na sua resposta. |
Todas as imagens são relacionadas a viagens. A primeira imagem mostra uma pessoa fazendo as malas, a segunda mostra um corredor vazio de um shopping, a terceira imagem mostra uma pilha de papel higiênico e a quarta mostra um mar escuro e violento. Todas essas imagens são relacionadas a viagens, porque são tudo o que as pessoas precisam ou usam quando viajam. A primeira imagem mostra uma pessoa fazendo as malas, que é algo que as pessoas fazem quando viajam. A segunda imagem mostra um corredor vazio de um shopping, que é um lugar onde as pessoas costumam comprar itens para viagens. A terceira imagem mostra uma pilha de papel higiênico, algo que as pessoas costumam usar quando estão viajando. A quarta imagem mostra um mar escuro e tempestuoso, algo que as pessoas encontram com frequência quando estão viajando. |
As mesmas dicas funcionam para resultados criativos. Peça explicitamente ao modelo para incluir aspectos da imagem. Isso pode melhorar a saída.
| Comando | Resposta do modelo |
|---|---|
Você pode me escrever um poema sobre esta imagem? |
Little bunny, so soft and brown,
Hopping through the field, up and down.
Your ears so long, your tail so small,
You're the cutest creature of them all.You nibble on the grass, so green and sweet,
And hop away when you see me.
But I'll always be your friend,
Little bunny, until the very end. |
| Comando atualizado | Resposta aprimorada |
|---|---|
Você pode escrever um poema descritivo e dramático sobre esta imagem e incluir o local? |
Little bunny on the green,
Ears so long, so keen.
What do you see out there,
In the distance, where you stare?Is it the ocean blue,
Sparkling in the sun's hue?
Or the waves that crash and roar,
A rhythm that you adore?Little bunny, tell me true,
What captures your attention so?
Is it the salty breeze,
Or the seagulls' cries that please?Perhaps it's the vastness of it all,
A world so big and small.
A place where dreams can roam,
And adventures can be sown.Little bunny, I wonder what you dream,
As you sit on the grass, so serene.
Do you yearn to explore the deep,
Or stay on land, where you can leap?Whatever it may be, little bunny,
Keep that spark of wonder burning brightly.
For in your dreams and aspirations,
Lies a world waiting for your creation. |
Determinar como o comando falhou
Um comando pode falhar porque o modelo não entendeu a imagem ou porque não executou as etapas de raciocínio corretas. Para diferenciar esses motivos, peça ao modelo que descreva o que está na imagem.
No exemplo, se a resposta do modelo indica um lanche que não combina com chá, como a pipoca, comece determinando se o modelo reconheceu que a imagem contém chá.
| Comando | Prompt de solução de problemas |
|---|---|
Que lanche eu posso preparar em 1 minuto que combina com isso? |
Descreva o que há na imagem. |
Pedir ao modelo que explique o raciocínio pode ajudar a descobrir qual parte do pensamento dele está errada, se for o caso.
| Comando | Prompt de solução de problemas |
|---|---|
Que lanche eu posso preparar em 1 minuto que combina com isso? |
Que lanche eu posso preparar em 1 minuto que combina com isso? Explique o motivo. |
Resolver problemas de acesso e permissões do Cloud Storage
A forma como a Agent Platform autentica e limita os URIs do Cloud Storage (gs://) depende do endpoint de API:
generateContente Agent Studio: a plataforma de agentes acessa objetos dogs://usando o agente de serviço da plataforma de agentes do projeto de chamada (service-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com), não suas credenciais de usuário pessoais, e oferece suporte a URIs dogs://até os limites de itens do modelo por modalidade (3.000 imagens e PDFs combinados, 1.000 arquivos de áudio, 10 vídeos e até 6.500 arquivos multimodais combinados ao incluir arquivos de texto simples, até 2 GiB menos 500 KiB por arquivo).- API Interactions: as solicitações de interação do modelo verificam as permissões de
storage.objects.getusando as credenciais do autor da chamada como uma etapa de simulação antes que o agente de serviço da plataforma de agente do projeto de chamada busque o objeto no Cloud Storage. Para buckets do Cloud Storage entre projetos ou buckets do Cloud Storage com políticas personalizadas do IAM, o autor da chamada autenticado e o agente de serviço precisam de acesso de leitura. As solicitações aceitam até 100 URIsgs://distintos na vez atual e em qualquer histórico deprevious_interaction_idvinculado. Para saber como configurar a API Interactions e tratamento de erros, consulte Acessar arquivos enviados do Cloud Storage.
Se uma solicitação falhar com um erro de permissão ao acessar um arquivo de entrada do Cloud Storage (HTTP 403), verifique o seguinte:
Conceder o papel de Leitor de objetos do Storage no bucket do Cloud Storage: verifique se o agente de serviço da plataforma de agentes do projeto de chamada tem o papel
Storage Object Viewer(roles/storage.objectViewer) no bucket do Cloud Storage que contém os arquivos. Para solicitações da API Interactions, também concedaroles/storage.objectViewerao principal de chamada autenticado:gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \ --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com" \ --role="roles/storage.objectViewer"Acesso ao bucket do Cloud Storage entre projetos: se o bucket do Cloud Storage estiver em um projeto do Google Cloud diferente do projeto da plataforma de agentes, conceda
roles/storage.objectViewerao agente de serviço do projeto em que a solicitação da plataforma de agentes é iniciada (e ao principal que faz a chamada ao chamar a API Interactions).Compatibilidade de embasamento e ferramentas: verifique se o embasamento com a Pesquisa Google está desativado no painel de configuração ao processar entradas de mídia do Cloud Storage ou verifique a compatibilidade da ferramenta com a versão do modelo selecionada.
Ajustar os parâmetros de amostragem
Em cada solicitação, você envia ao modelo não somente o comando multimodal, mas também um conjunto de parâmetros de amostragem. O modelo pode gerar diferentes resultados para diferentes valores de parâmetros. Teste os diferentes parâmetros para ter os melhores valores para a tarefa. Os parâmetros mais comumente ajustados são os seguintes:
Temperatura
A temperatura é usada para amostragem durante a geração de respostas, que ocorre quando top-P e top-K são aplicados. A temperatura controla o grau de aleatoriedade na seleção do token. Temperaturas mais baixas são boas para comandos que exigem uma resposta mais determinista e menos aberta ou criativa, enquanto temperaturas maiores podem levar a resultados mais diversos ou criativos. Uma temperatura de 0 é determinista, o que significa que a resposta de maior probabilidade tem mais chances de ser selecionada.
Na maioria dos casos de uso, é melhor começar com a temperatura 0,4. Se você precisar de resultados mais criativos, aumente a temperatura. Se você observar alucinações claras, reduza a temperatura.
Top-P
O Top-P muda a forma como o modelo seleciona tokens para saída. Os tokens são selecionados do mais provável para o menos provável até que a soma das probabilidades seja igual ao valor do top-P. Por exemplo, se os tokens A, B e C tiverem uma probabilidade de 0,6, 0,3 e 0,1 e o valor de Top-P for 0,9, o modelo selecionará A ou B como token seguinte usando temperatura e excluirá C como candidato.
Especifique um valor mais baixo para respostas menos aleatórias e um valor mais alto para respostas mais aleatórias. O valor padrão do top-P é 1,0.
A seguir
- Confira um tutorial de início rápido usando a API Agent Platform.
- Para começar a usar a API Gemini, consulte o guia de início rápido.