Alura > Cursos de Inteligência Artificial > Cursos de IA para Programação > Conteúdos de IA para Programação > Primeiras aulas do curso Gemini e Python: criando ferramentas com a API

Gemini e Python: criando ferramentas com a API

Introdução ao AI Studio - Apresentação

Olá, meu nome é André Santana, sou instrutor da Alura, na Escola de IA e Programação, e irei te acompanhar nesse curso de Gemini.

Audiodescrição: André Santana se identifica como um homem branco. Tem cabelo curto e barba comprida. Usa óculos de grau e camiseta rosa. Ao fundo, estúdio com iluminação na cor roxa e estante com decorações à direita.

O que vamos aprender?

Neste curso, vamos aprender a utilizar o modelo Gemini junto com o IA Studio, sem a necessidade de programar nenhuma linha de código. Também vamos analisar e criar conteúdo a partir de vídeo, imagem, texto e áudio.

Exploraremos como se conectar com a API do Gemini utilizando Python e como aprimorar um prompt usando processos de engenharia de prompt que envolvem ter um contexto, uma saída e alguns exemplos.

Também vamos categorizar produtos dentro de um e-commerce, analisar sentimentos e avaliar os principais custos dos modelos Gemini, que são o Gemini Flash e o Gemini Pro.

Pré-requisitos

Este curso é destinado a quem já tem alguma experiência com a linguagem de programação Python e deseja dar os primeiros passos com o Gemini e o uso da API do Google.

Vamos explorar todo esse conteúdo em um projeto que envolve um e-commerce de produtos sustentáveis por meio de uma série de interações que podemos fazer com a API, desde categorizar um produto até analisar sentimentos em um comentário de um e-commerce.

Além dos vídeos, não se esqueça que também contamos com uma série de atividades, recursos que envolvem a comunidade e o nosso fórum. Até a primeira aula!

Introdução ao AI Studio - Criação da conta no AIStudio

Olá, pessoal! Vamos começar nosso curso de Gemini. Nosso objetivo é desenvolver um projeto que possa nos ajudar a trabalhar com um e-commerce ou lidar com pessoas usuárias que tragam reclamações sobre interações com a plataforma.

Para isso, vamos explorar o universo das LLMs (Large Language Models ou grande modelos de linguagem). Utilizaremos o Gemini para trabalhar com texto e outros tipos de mídia, pensando em casos de uso de interação de uma pessoa usuária com uma plataforma que tenha produtos disponíveis para compra e consumo.

Também exploraremos como utilizar o poder de processamento de linguagem natural junto com as LLMs para analisar textos, comentários ou reclamações das pessoas usuárias.

Criando conta no AI Studio

Para começar, vamos acessar a plataforma do Google AI Studio, onde teremos acesso a informações que nos ajudam a conectar com a API.

O primeiro passo para utilizar a API do Gemini é fazer login na conta. Se você já tiver uma conta, basta clicar em "Fazer login", escolher uma conta e interagir com a plataforma do AI Studio.

Caso você ainda não tenha acesso à plataforma, é importante criar uma conta Google ou utilizar uma conta Google existente para realizar os experimentos ao longo das aulas. Algumas contas comerciais não podem ser utilizadas - deve ser uma conta pessoal, mesmo que seja corporativa. Uma vez que você tenha a conta, basta acessar a plataforma novamente.

Configurando preferências

Com acesso à plataforma, podemos utilizar uma série de recursos gratuitos disponibilizados pelo Google para interações tanto em formato de texto quanto em outros tipos de mídia.

Antes de começar, é importante acessar a parte de "Settings" (configurações) na parte inferior do painel lateral esquerdo para verificar quais preferências estão selecionadas.

Podemos alterar o tipo de tema (claro, escuro, sistema) em "Theme" e especificar um tipo de plano para consumir os dados em "Account Settings". No momento, não vamos adicionar nenhum já que há muitos recursos gratuitos disponíveis para uso durante as aulas.

Também podemos optar por ativar ou não o autossalvamento para os prompts ou códigos de interação criados no AI Studio, no toggle "Autosaving Enabled".

Conhecendo tipos de modelo

Outra configuração importante está na parte de "API Plan information" (informação de plano), onde alguns projetos estão listados. Por padrão, o próprio Gemini já traz um projeto chamado "Generative Language Client". Caso queiramos criar um novo projeto, será necessário acessar uma plataforma externa, mas o projeto padrão atende nossas necessidades durante o curso.

Logo abaixo, encontramos diferenças entre os modelos disponíveis. O modelo atual mais básico do Gemini é o Gemini 1.5 Flash, que oferece alguns recursos no modelo gratuito, como um limite de:

Os tokens têm relação com a quantidade de texto enviado ou recebido com acesso à interação com a API. Neste modelo mais simples, não há custo e não é necessário cadastrar cartão de crédito, por isso, tem algumas limitações.

O modelo mais completo, que trabalha com mais variações de mídia, incluindo imagem e vídeo, é o Gemini 1.5 Pro. Ele possui limitações diferentes, mas também é livre de custos:

Caso optemos por desenvolver uma solução comercial, pode ser necessário arcar com despesas ou custos envolvidos, conforme indicado na tabela ao lado de pay-as-you-go (pague conforme o uso).

Agora, vamos começar a colocar a mão na massa para verificar como podemos interagir com problemas ou casos de uso pertencentes ao cenário de um e-commerce, utilizando o AI Studio e, por enquanto, sem programação.

Introdução ao AI Studio - Gemini com Python

Agora que já temos nossa conta criada, vamos acessar o AI Studio para realizar algumas interações com o Gemini, sem precisar de programação.

Criando prompt

Na interface do AI Studio, identificamos dois campos importantes. O primeiro é um campo de instruções de sistema (system instructions), localizado no topo, abaixo do título do prompt. Essa é uma das principais diferenças em relação a ferramentas disponíveis para o usuário final, como o ChatGPT.

Essas instruções de sistema permitem definir comportamentos ou instruir o modelo de IA generativa com alguns exemplos.

Por enquanto, focaremos apenas no campo de texto tradicional, localizado na parte inferior da interface.

Para ilustrar nossa primeira interação, solicitaremos ao Gemini que gere uma lista de produtos para cuidados com a pele relacionados a um e-commerce sustentável.

Vamos inserir o comando:

Gere uma lista de produtos para cuidado com a pele para um e-commerce de produtos sustentáveis.

Ao executar o comando, clicando no botão "Run" (ou atalho "Ctrl + Enter"), o modelo processará a solicitação e retornará uma resposta. Nesse processo, ele analisa a pergunta, quebrando-a em uma série de caracteres separados e comparando-a com as informações armazenadas em sua base de dados, ou seja, em sua memória, para compor o texto de resposta.

Produtos para Cuidado com a Pele Sustentável:

Limpeza:

[restante do retorno omitido...]

O resultado foi gerado com as configurações padrão do Gemini, especificadas no painel "Run Settings" (configurações de execução) no painel na lateral direita.

Nesse caso, utilizamos o modelo Gemini 1.5 Flash. A contagem de tokens indica que foram gerados 732 tokens de um milhão disponível, processando tanto a pergunta quanto a resposta.

A temperatura mede a criatividade do modelo, ou seja, o quanto a construção da resposta vai variar, no intuito de simular criatividade humana. Por padrão, o slider de temperatura fica em 1.

Em "Tools" (ferramentas), existem algumas ferramentas que não abordaremos neste curso, mas que envolvem formatação de saída para aplicações complexas que consomem recursos do Gemini.

Em "Advanced settings" (configurações avançadas), podemos variar algumas configurações para um uma ação que você queira desenvolver para a sua aplicação - no entanto, não estão disponíveis no modelo atual.

O campo "Add stop sequence" (adicionar uma sequência de parada) permite interromper a geração do texto ao encontrar os caracteres especificados nesse campo. O campo output length (tamanho da saída) está relacionado ao custo da resposta; quanto maior o valor, mais texto é gerado.

Os campos de "Top K" e "Top P" também influenciam a criatividade. O Top K está relacionado ao quão longe será a busca de informações dentro do conjunto de palavras usadas para treinar o modelo. Enquanto o Top P envolve o grau de confiança, verificando a similaridade contextual dos sinônimos usados para construir o texto.

Trocando modelo do Gemini

Não conseguimos variar o Top K ou Top P no modelo Gemini 1.5 Flash. Por isso, vamos utilizar um modelo menos robusto, como o Gemini 1.0 Pro parar gerar novamente a informação.

Caso queiramos utilizar novamente o mesmo prompt, podemos acessar a instrução demarcada como "User" (usuário), clicando no ícone de "Edit" (edição) e depois no ícone "Stop editing and rerun" (para edição e re-executar) para executá-lo novamente.

Com um modelo diferente, a resposta varia porque esse modelo foi treinado com uma quantidade de dados e com uma estratégia de elaboração de texto distinta ao Gemini 1.5.

Produtos de Limpeza:

[restante do retorno omitido...]

Por ser o modelo mais antigo, o Gemini 1.0 tem uma maior propensão a apresentar algumas falhas específicas.

Nesse exemplo, a saída é uma lista de produtos para cuidado da pele separados por categorias (limpeza, hidratação, corporal, cabelo). Note que são informações mais genéricas, pois estão limitadas pelos parâmetros de criatividade especificados nas configurações.

Alterando parâmetros

Com esse modelo, é possível alterar os parâmetros avançados. Iremos colocar um Top K de 1000 e uma temperatura de 1, que é o valor máximo possível. Em seguida, vamos executar o prompt novamente para observar se haverá variações na resposta.

Limpadores

Hidratantes

[restante do retorno omitido...]

O modelo foi mais criativo e trouxe outros elementos para categorias como limpadores, hidratantes, máscaras, produtos especiais e embalagem sustentável.

Diferente de outros modelos de LLM, esse manteve a coerência, sem inventar marcas. Contudo, talvez ainda seja necessário o apoio de uma pessoa especialista para saber se os produtos sugeridos fazem sentido.

O mais importante é entender que conseguimos customizar esse tipo de interação com a plataforma e esse tipo de abordagem de inteligência artificial foi desenvolvido para poder produzir conteúdo com base em conteúdo já existente, mas buscando algum grau de originalidade.

Usando instruções de sistema

Para melhorar e garantir o recebimento de uma resposta coerente, podemos fazer duas abordagens distintas. A primeira seria optar por um modelo mais moderno, caso possamos arcar com esses custos ou as restrições façam sentido. Nesse caso, vamos manter o modelo Gemini 1.5 Flash, que é o mais moderno.

A segunda abordagem seria trabalhar com o instruções de sistema para direcionar o LLM. Afinal, se geramos outra resposta a partir desse mesmo prompt, as informações podem variar muito. Caso queiramos que as respostas sigam algum tipo de padrão, podemos usar o campo "System instructions" para indicar ao Gemini qual formato desejamos.

Vamos acrescentar o seguinte conjunto de instruções para o sistema:

Você é um atendente que responde apenas perguntas a respeito de um e-commerce de produtos sustentáveis.

Além disso, você analisa a pergunta do usuário. Se for uma reclamação, você age de forma empática. Se for um elogio ou uma estrutura neutra, você usa alguns emojis na resposta.

Caso o usuário solicite dicas de produtos, apenas indique o nome com uma breve descrição, se limitando a três sugestões.

Dessa forma, conseguimos dar direções para o LLM, para que ele assuma uma determinada personalidade e entenda a saída que esperamos.

Não preciso salvar o prompt. Essas instruções serão sempre utilizadas durante o envio de interação com a API do Gemini. Basta enviar novamente o pedido de uma lista de produtos para cuidados com a pele para observar as alterações na resposta.

Como o pedido manteve uma estrutura neutra, o modelo segue as instruções de utilizar emojis e lista apenas três opções de produtos:

Olá! 😊 Adoro te ajudar a encontrar produtos incríveis para cuidar da sua pele de forma sustentável! 🌱

Que tal explorarmos algumas opções? 🤔

Espero que essas sugestões te ajudem a encontrar os produtos perfeitos para sua rotina de skincare! ✨

Outra vantagem é que essa abordagem garante que a tecnologia não seja usada para fins inadequados.

Como esse LLM foi configurado para responder apenas perguntas de e-commerce, podemos testar se ele obedece às nossas instruções. Caso necessário, pode melhorar a instrução sempre dizendo o que o LLM deve fazer e não o que ele não deve fazer.

Por exemplo, vamos fazer uma pergunta que não segue a diretriz dada anteriormente:

Qual é a melhor praia de São Paulo?

Desculpe, mas não posso te ajudar com essa pergunta. 😔 Sou especialista em produtos sustentáveis e não tenho informações sobre praias. 😕

Mas, posso te ajudar a encontrar produtos incríveis para sua casa! 😍 Que tal explorarmos a categoria de produtos para a cozinha? 🔍

O modelo se recusa a responder, ainda assim sendo simpático, mas mantendo a consistência esperada de acordo com as restrições de personalidade dadas através do campo de instruções de sistema.

Próximos passos

Dessa forma, o LLM consegue produzir texto a partir de interações com usuários.

Em breve, entenderemos como conectar isso a uma aplicação usando linguagem de programação para ampliar o poder de desenvolvimento em projetos específicos que incluam o uso de LLM, incluindo e-commerce. Até a próxima!

Sobre o curso Gemini e Python: criando ferramentas com a API

O curso Gemini e Python: criando ferramentas com a API possui 103 minutos de vídeos, em um total de 40 atividades. Gostou? Conheça nossos outros cursos de IA para Programação em Inteligência Artificial, ou leia nossos artigos de Inteligência Artificial.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda IA para Programação acessando integralmente esse e outros cursos, comece hoje!

Conheça os Planos para Empresas