Como fizemos: interação com o Gemini por meio de comandos multimodais

DEZ 06, 2023
Alexander Chen Creative Director

Vamos fazer um experimento. Mostraremos esta imagem ao nosso modelo multimodal Gemini e pediremos a ele para descrever o que vê:

hand_paper_2

Diga-me o que você vê.

Gemini: Eu vejo a mão direita de uma pessoa. A mão está aberta com os dedos afastados.

Ok, vamos tentar isso:

hand_rock_2

Gemini: Uma pessoa batendo em uma porta de madeira.

Que tal isso?

hand_scissors_1

Gemini: Eu vejo uma mão com dois dedos estendidos, que é um símbolo comum para o número dois.

Mas, espere... e se pedíssemos ao Gemini para raciocinar sobre todas essas imagens juntas?

hand_rock_paper_scissors (1)

O que você acha que estou fazendo? Dica: é um jogo.

Gemini: Você está jogando pedra, papel e tesoura.

Legal. O que mais podemos tentar? Vamos ver se o Gemini consegue perceber esse padrão:

hand_rock_paper_scissors_alternating (1)

Estou jogando pedra, papel e tesoura. Você percebe um padrão na minha jogabilidade?

Gemini: Você está alternando entre pedra e tesoura.

Legal, ele identificou o padrão! Mas o Gemini realmente sabe como esse jogo funciona? Vamos tentar perguntar:

Hmm... você acha que essa é uma boa estratégia?

Gemini: Não, essa não é uma boa estratégia. Seu oponente aprenderá rapidamente seu padrão e poderá vencer todas as vezes. Você deve tentar usar uma ordem mais aleatória nas suas escolhas.

Bom conselho, Gemini! Ok, para encerrar, vamos colocar suas capacidades de raciocínio multimodal à prova. Aqui está o comando:

Esta é uma mensagem secreta. O que ela diz?

secret_message_white_bg

Você consegue descobrir? O Gemini resolveu o mistério, mas não vamos acabar com sua diversão colocando a resposta nesta postagem. 🙂

O que são comandos multimodais?

Tudo o que fizemos agora é um exemplo de “comando multimodal”. Basicamente, damos ao Gemini combinações de diferentes modalidades (imagem e texto, neste caso) e fazemos com que ele responda prevendo o que pode vir a seguir. A capacidade do Gemini de combinar perfeitamente esses modos permite novas possibilidades para você.

Nesta postagem, vamos analisar algumas das abordagens que usamos em nosso vídeo de demonstração de prática com o Gemini. Em breve, lançaremos o Gemini para as pessoas testarem no Google AI Studio, nossa ferramenta gratuita para desenvolvedores com base na Web, onde você poderá usar seus próprios comandos multimodais com o Gemini. Esperamos que este guia de sugestões e ideias iniciais ajude você a começar e ter inspiração.

Link to Youtube Video (visible only when JS is disabled)

🧮 Raciocínio espacial e lógica

Lógica e quebra-cabeças são uma maneira divertida de testar o Gemini. Vamos tentar algo que exija raciocínio espacial da esquerda para a direita e conhecimento sobre nosso sistema solar:

planets

Esta é a ordem correta? Considere a distância do sol e explique seu raciocínio.

Gemini: Não, a ordem correta é Sol, Terra e Saturno. O Sol é o mais próximo do centro do sistema solar, seguido pela Terra e depois por Saturno.

Ótimo! Aqui está outro teste inspirado nos desafios de Pinewood Derby:

pinewood_derby_cars

Qual destes carros é mais aerodinâmico? O da esquerda ou o da direita? Explique o porquê, usando detalhes visuais específicos.

Gemini: O carro da direita é mais aerodinâmico. Ele tem um perfil mais baixo e uma forma mais simplificada. O carro da esquerda tem um perfil mais alto e uma forma mais quadrada, o que o torna menos aerodinâmico.

Sequências de imagens

E se mostrássemos ao Gemini uma sequência de imagens? Vamos ver se podemos mostrar alguns frames estáticos de um jogo de charadas e fazer com que o Gemini adivinhe o filme:

matrix_charades

Adivinhe que filme estou imitando.

Gemini: Matrix.

Legal! Mas qual parte especificamente? Olhe para os movimentos do meu corpo.
Gemini: A parte em que Neo se esquiva de balas.

🪄 Truques de mágica

Analisar sequências de imagens permite que você se aprofunde em como o Gemini raciocina ao longo do tempo. Vamos tentar um truque de mágica clássico.

coin_trick_1

Explique o que estou fazendo.

Gemini: Você está segurando uma moeda na mão direita.

coin_trick_1b
coin_trick_2

Onde você acha que está a moeda?

Gemini: A moeda está na sua mão direita.

Claro, essa é uma resposta lógica, dado o que se viu. Mas vamos fazer um truque de mágica enquanto revelamos essa próxima imagem para o Gemini...

coin_trick_3

Olhe aqui, o que aconteceu?

Gemini: A moeda sumiu.

O Gemini percebeu o desaparecimento da moeda, mas ele consegue resumir o que pode ter acontecido?

Resuma o que pode ter acontecido, passo a passo, começando pela primeira imagem.

Gemini: 

  1. Você começou com uma moeda na mão direita.
  2. Em seguida, fez um movimento com as mãos e a moeda desapareceu.
    3. Você então mostrou que a moeda havia sumido.

O Gemini está usando todo o contexto desta conversa (texto e imagem) para resumir a resposta. Por fim, vamos perguntar:

Você pode explicar como a moeda desapareceu?

Gemini: A moeda estava escondida na palma da mão.

O palpite do Gemini foi muito interessante! Mas não vamos revelar nosso segredo 🙂.

🔀 Embaralhamento de copos

Vamos tentar um truque que requer memória e lógica: o clássico jogo de embaralhar uma bola em copos. Para isso, vamos dividir em etapas para o Gemini. Primeiro, vamos estabelecer o básico com estas instruções:

Instruções: existem três copos na posição 1 (esquerda), posição 2 (meio) e posição 3 (direita).

Observe como criamos um formato simples para lembrar onde a bola está com “vazio, vazio, bola”. Em seguida, vamos mostrar ao Gemini duas rodadas de exemplo:

Imagens:

cup_shuffle_2_and_3

Troca: 2 e 3

Estado atual: vazio, bola, vazio

Imagens:

cup_shuffle_1_and_2

Troca: 1 e 2

Estado atual: bola, vazio, vazio

Nessas duas rodadas de exemplo, mostramos como é uma troca e como mudar a posição da bola. Agora, vamos ver se o Gemini consegue generalizar para uma troca que ele não viu:

Imagens:

cup_shuffle_1_and_3

Troca: 

Aqui está a resposta do Gemini:

1 e 3

Estado atual: vazio, vazio, bola

O Gemini entendeu! Ele analisou essas imagens e inferiu corretamente que os copos 1 e 3 estão sendo trocados. E raciocinou corretamente sobre como atualizar a posição da bola. Vamos perguntar:

Diga-me onde a bola está e resuma como ela chegou lá, em forma de parágrafo.

Gemini: A bola está no copo 3. 

Começando com a bola no copo 3, a primeira troca foi os copos 2 e 3. Isso colocou a bola no copo 2. A segunda troca foi os copos 1 e 2. Isso colocou a bola no copo 1. A terceira troca foi os copos 1 e 3. Isso colocou a bola no copo 3.

Além de chegar à resposta correta, o Gemini resumiu com precisão o histórico do jogo. Claro, nem sempre ele vai acertar esse desafio. Às vezes, o movimento falso (onde você troca dois copos vazios) parece atrapalhar, mas também há casos em que ele acerta. No entanto, comandos simples como esse tornam muito divertido testar rapidamente o Gemini. Você pode alterar as variáveis em seu comando, incluindo a ordem das trocas, para ver o resultado.

🔨 Uso de ferramentas

Ao usar o Gemini em apps próprios, é importante que ele seja capaz de se conectar a outras ferramentas. Vamos tentar uma ideia simples em que o Gemini precisa combinar multimodalidade com o uso de ferramentas: desenhar uma imagem para procurar músicas.

musical_drawing

Etapa 1. Olhe para este desenho, descreva tudo nele e dê uma ideia divertida e específica para um bom gênero musical, clima ou trilha sonora. 

Etapa 2. Mostre uma consulta de pesquisa no formato: “Pesquisar [inserir consulta]”.

Gemini: 

O desenho é de uma guitarra, bateria e um amplificador. Há também uma palmeira. O clima é divertido, otimista e tropical. O gênero é reggae. A trilha sonora pode ser usada para um filme ou programa de TV ambientado em um local tropical. 

Pesquise "Música reggae para férias tropicais”.

Ótimo! O Gemini raciocina sobre o que vê e, em seguida, gera uma consulta de pesquisa que você pode analisar para fazer uma pesquisa. É como se o Gemini atuasse como um tradutor, mas, em vez de traduzir entre idiomas, ele traduz modalidades: do desenho à música, neste caso. Com o comando multimodal, você pode usar o Gemini para inventar suas próprias traduções totalmente novas entre diferentes entradas e saídas.

🕹️Criação de jogos

E se tentássemos usar o Gemini para prototipar rapidamente um jogo multimodal? Aqui está uma ideia: um jogo de adivinhação de geografia em que você tem que apontar para um mapa a fim de fazer seu palpite. Vamos começar incitando o Gemini com a ideia central:

Instruções: vamos jogar um jogo. Pense em um país e me dê uma pista. A pista deve ser específica o suficiente para que haja apenas um país correto. Vou tentar apontar para o país em um mapa.

A seguir, vamos dar ao Gemini um exemplo de jogo, mostrando como queremos que ele lide com respostas corretas e incorretas:

País: este país é uma ilha enorme, coberta em sua maior parte por gelo.
(Resposta: Groenlândia) 

Palpite:

map 1

Estou apontando para o país Canadá *incorreto*

Palpite:

map 2

Estou apontando para o país Groenlândia *correto*

Vamos tentar e pedir ao Gemini para gerar uma pista:

Pista:

este país é conhecido por sua vida selvagem única, incluindo cangurus e coalas. (Resposta: Austrália)

Ok, essa é uma boa pista. Vamos testar o que acontece ao apontarmos. Só por diversão, primeiro vamos apontar para o lugar errado:

Palpite:

map 3

Estou apontando para o país Brasil *incorreto*

Ótimo! O Gemini olhou para a minha imagem e descobriu que estou apontando para o Brasil, e raciocinou corretamente que isso está errado. Agora vamos apontar para o lugar certo no mapa:

map 4

Estou apontando para o país Austrália *correto*

Legal! Nós ensinamos ao Gemini a lógica de jogo apenas dando um exemplo. Perceba também a generalização por meio da mão ilustrada nos exemplos.

⌨️ Codificação

É claro que, para dar vida à sua ideia de jogo, você eventualmente terá que escrever algum código executável. Vamos ver se o Gemini consegue fazer uma contagem regressiva simples para um jogo, mas com algumas reviravoltas divertidas:

Implemente um temporizador simples em HTML/CSS/JavaScript. Use uma fonte Sans Serif e o modo escuro. Comece em 10 segundos e inicie a contagem regressiva. Quando chegar a zero, substitua o temporizador por um emoji aleatório associado a emoção e motivação! Em seguida, volte ao temporizador aos 10 segundos e comece a contagem regressiva novamente.

Com apenas esta única instrução, o Gemini nos dá um temporizador de trabalho que faz o que pedimos:

A parte de que mais gosto é percorrer o código-fonte do Gemini para encontrar a variedade de emojis motivacionais que ele escolheu para mim:

const emojis = ['🚀', '⚡️', '🎉', '🎊', '🥳', '🤩', '✨'];

👀 Uma prévia

Ao longo desta postagem, demos uma entrada para o Gemini e pedimos que ele fizesse previsões sobre o que poderia vir a seguir. Isso é basicamente o que é o comando. E nossas entradas foram multimodais: imagem e texto, combinados.

Mas até agora mostramos o Gemini respondendo apenas por texto. Talvez você se pergunte: o Gemini também pode responder com uma combinação de imagem e texto? E a resposta é sim! Esta é uma capacidade do Gemini chamada “geração de texto e imagem intercalada”. Embora esse recurso não esteja pronto na primeira versão do Gemini para as pessoas testarem, esperamos lançá-lo em breve. Aqui está uma prévia do que é possível.

Vamos ver se é possível usar o Gemini para termos inspiração criativa todos os dias. Faremos isso em um domínio que requer um pouco de raciocínio multimodal: o tricô!🧶. Semelhante ao nosso jogo de mapas acima, vamos dar um exemplo de interação:

Mostre três ideias para criações de crochê que eu poderia fazer com estas duas cores:

blue ball of yarn next to yellow ball of yarn

Cores: eu vejo lã azul e amarela.

Ideia 1: que tal um cachorro fofo com uma orelha amarela?

Imagem 1:

a cute dog made with blue and yellow yarn

Ideia 2: ou que tal uma água-viva com alguns tentáculos amarelos?

Imagem 2:

a cute jellyfish made with blue and yellow yarn, on light plywood table, overhead birds eye view

Ideia 3: ou quem sabe um gato azul com nariz amarelo?

Imagem 3:

a cute cat made with blue and yellow yarn

Estamos ensinando ao Gemini sobre como queremos que cada interação seja: "Vou tirar uma foto de dois novelos de lã e espero que você (Gemini) tenha uma ideia para algo que eu possa fazer e gere uma imagem disso”.

Agora, vamos mostrar um novo par de cores de lã que ele ainda não viu para conferirmos se ele consegue generalizar:

Mostre três ideias para criações de crochê que eu poderia fazer com estas duas cores:

blue_pink_input (website)

Gemini:

Cores: eu vejo lã azul e rosa.

Ideia 1: que tal um porco com orelhas azuis?

Imagem 1:

pink_and_blue_pig_3

Ideia 2: ou um polvo com tentáculos rosa e azul?

Imagem 2:

pink_and_blue_octopus_v3

Ideia 3: ou um coelho com nariz rosa?

Imagem 3:

pink_and_blue_bunny

Ótimo! O Gemini raciocinou corretamente sobre as novas cores (“eu vejo lã azul e rosa”) e gerou essas ideias e as imagens em uma única saída intercalada de texto e imagem.

O que o Gemini fez aqui é fundamentalmente diferente dos modelos atuais de texto para imagem. Não se trata apenas de passar uma instrução para um modelo separado de texto para imagem. Ele vê a imagem da lã real na minha mesa de madeira e cria um raciocínio multimodal sobre o texto e a imagem em conjunto.

O que vem por aí?

Esperamos que este guia inicial tenha sido útil para você ter uma ideia do que é possível com o Gemini. Estamos muito animados com o lançamento para mais pessoas em breve, de modo que você possa usar esses recursos em suas próprias ideias por meio de comandos. Não perca as próximas novidades!