Olá! Meu nome é Lucas Mata, sou instrutor na Alura, e quero te dar boas-vindas a este curso.
Audiodescrição: Lucas se descreve como uma pessoa branca, de cabelo e barba pretos e curtos, e olhos castanho-escuros. Ele usa óculos de armação arredondada preta, veste uma camisa escura com o logotipo da Alura em branco, e está em um estúdio da Alura, com uma parede iluminada em roxo ao fundo, e uma estante preta à esquerda do instrutor, com quadros, enfeites, livros e pontos de iluminação amarela.
Este curso é destinado a quem deseja aplicar modelos de inteligência artificial no cotidiano de desenvolvimento. Para isso, utilizaremos o serviço da AWS Amazon Bedrock, que disponibiliza diversos modelos de inteligência artificial para integração em projetos e aplicações. Para melhor aproveitamento do curso, é importante ter conhecimentos sobre programação em Python.
Observação! Neste curso, não focaremos na construção do código em si, mas sim na elaboração de ferramentas que utilizam modelos de inteligência artificial do Bedrock.
Primeiramente, vamos interagir com modelos de IA diretamente no Amazon Bedrock. Em seguida, entenderemos como encaminhar requisições para modelos de IA generativa, utilizando a API de cada modelo. A partir disso, criaremos um chatbot inteligente, usando o modelo Claude da Anthropic, e aplicaremos ferramentas como o LangChain e o RAG.
Por fim, criaremos ferramentas inteligentes para geração de imagens, utilizando modelos de geração de imagem, como, por exemplo, o Stable Diffusion.
Aprenderemos tudo isso de forma prática, construindo efetivamente as ferramentas e integrando os diferentes modelos disponíveis no Bedrock.
Aproveite os recursos da plataforma! Além dos vídeos, temos atividades para reforçar o conteúdo, o fórum para tirar suas dúvidas, e o apoio da comunidade no Discord.
Nos encontramos nos próximos vídeos para dar início à nossa jornada de aprendizado!
Usamos inteligência artificial no dia a dia de forma direta e indireta, seja fazendo uma busca no navegador ou utilizando um assistente de voz no nosso smartphone, por exemplo.
A IA tem se tornado um componente essencial em muitas aplicações, como quando queremos fazer uma pesquisa mais inteligente, ou seja, obter uma resposta mais específica para uma dada pergunta.
Em muitas aplicações e plataformas, é comum o uso de assistentes virtuais ou chatbots. Na plataforma da Alura, por exemplo, temos a Luri.
A Luri é uma assistente que, se digitarmos um prompt como "Quero aprender Linux", ela nos retornará uma pesquisa de conteúdos refinada, ajudando na trajetória de aprendizado e recomendando conteúdos, artigos e cursos na plataforma.
Com isso em mente, como podemos construir aplicações inteligentes, ou seja, aplicações que utilizem modelos de inteligência artificial? Esse será o principal objeto de estudo da nossa jornada.
Nesse caso específico, lidaremos com a aplicação da Meteora. A Meteora é um e-commerce para venda de peças de roupas e itens de vestuário em geral. Ao longo deste curso, trabalharemos na construção de ferramentas, como um chatbot para essa plataforma.
Para isso, utilizaremos um serviço da AWS chamado Amazon Bedrock.
Daremos início acessando o console da AWS e fazendo o login.
Caso você ainda não tenha suas credenciais de acesso, é necessário configurá-las e criá-las.
Após isso, clicamos na opção "Faça login no console" no canto superior direito da tela. Realizado o login, temos acesso ao console da AWS, onde podemos visualizar todos os serviços e recursos disponíveis. Nesse caso, utilizaremos o Bedrock, mas antes de acessá-lo efetivamente, precisamos garantir que nossa conta de usuário tenha acesso a esse serviço.
Na AWS, o gerenciamento de identidade e acesso regula as permissões de cada pessoa usuária para acessar os recursos de forma adequada. Sabendo disso, vamos buscar por "IAM" no campo de pesquisa do console, que é um acrônimo de Identity Access Management.
Feito isso, selecionaremos a primeira opção e, no menu lateral esquerdo, escolheremos "Users" ("Usuários"). Dessa forma, será exibida uma lista de pessoas usuários da nossa conta.
No caso do instrutor, ele selecionará
LucasMata
; você deve selecionar seu próprio usuário.
Após clicar no usuário desejado, encontramos uma lista de permissões (seção "Políticas de permissões"). No nosso caso, já existe a permissão para AmazonBedrockFullAccess
.
Além da permissão
AmazonBedrockFullAccess
, temos aAdministratorAccess
, isto é, o acesso como pessoa administradora. Com isso, já teríamos acesso ao Bedrock normalmente.
Caso a permissão não exista ainda, basta clicar em "Adicionar permissões" no canto superior direito. Para realizar este processo, existem três opções:
- Adicionar usuário ao grupo;
- Copiar permissões;
- Anexar políticas diretamente.
Para adicionar políticas de permissão padrão da AWS rapidamente, escolhemos a última opção ("Anexar políticas diretamente"). Feito isso, podemos pesquisar pela política "Bedrock" e, se necessário, incluir outras políticas disponíveis. No entanto, as permissões AmazonBedrockFullAccess
e AdministratorAccess
, que acabamos de conhecer, nos dão acesso total ao serviço do Bedrock.
Para anexar as novas políticas, clicamos em "Próximo > Adicionar Permissões". Uma mensagem confirmará que as políticas foram adicionadas, garantindo acesso aos serviços do Bedrock.
Para acessar o Amazon Bedrock, basta digitar o nome do serviço na barra de pesquisa superior. Nesse caso, clicaremos na primeira opção de serviço ("Amazon Bedrock").
Feito isso, vamos acessar a caixa do canto superior direito da tela, onde temos o texto "Experimentar o Bedrock" e, em seguida, um botão rotulado "Conceitos básicos", onde iremos clicar.
No serviço do Bedrock, temos acesso a uma série de modelos de inteligência artificial, como os LLMs (Large Language Models), que fazem o processamento da linguagem natural.
Antes de interagir com esses modelos, precisamos solicitar autorização de acesso para nossa conta. No menu lateral esquerdo, vamos até "Bedrock configurations" e clicaremos em "Acesso a modelo".
Ao fazer isso, encontramos uma lista de modelos de base com acesso concedido. Para obter acesso aos modelos desejados, vamos clicar em "Modify model access" para modificar o acesso ao modelo.
Uma vez selecionados os modelos que queremos acessar, basta clicar em "Next". Com isso, enviamos uma solicitação de requisição de acesso, que será processada pela Amazon.
Para alguns modelos, como os da Anthropic, é necessário preencher um caso de uso, descrevendo o propósito, como construir um projeto de chatbot ou para fins educacionais.
Após obter acesso aos modelos, podemos começar a interagir com eles no serviço de Playground. Na categoria "Playground" do menu lateral esquerdo, escolheremos a opção "Chat".
No Playground de chats, existem diferentes fornecedores de modelos, alguns open source e outros não. Por exemplo: podemos interagir com os modelos da própria Amazon.
Nesse caso, selecionando o modelo "Titan Text G1 - Express", verificamos que não há throughputs disponíveis, indicando que não podemos usar o modelo sob demanda.
Após aplicar o modelo, no campo de interação logo abaixo, conseguimos enviar uma requisição ou escrever um prompt para o modelo. Por exemplo, no contexto do Meteora, podemos enviar:
Opções de sandália para passeio na praia.
Com isso, o modelo retornará uma resposta. Nesse caso, ela veio em inglês e foi um pouco longa, mas podemos ajustar configurações, como temperatura e top-p para refinar a resposta.
Além disso, mais adiante na página, conseguimos visualizar algumas métricas, como, por exemplo, a latência, que é o tempo entre o envio da requisição e o retorno da resposta, e também a contagem de tokens, que são unidades de texto utilizadas pelo modelo.
Importante! Nada do que utilizamos é gratuito. Cada requisição de processamento e interação no chat usando o Playground do Bedrock pode ser creditada na conta devido ao uso do serviço da Amazon.
Agora que temos acesso ao Bedrock e começamos a interagir com o modelo de IA, vamos entender melhor como funciona esse ambiente e como podemos ajustar os parâmetros dos modelos?
Começamos a interagir no Playground de chats do Amazon Bedrock com um modelo da própria Amazon, o "Titan Text G1 - Premier". Inserimos um prompt com a mensagem "Opções de sandália para passeio na praia." e recebemos uma resposta com algumas indicações de sandálias.
Observamos que a resposta está em inglês, e uma das questões levantadas anteriormente foi justamente sobre os parâmetros que podemos configurar no console da AWS.
Os parâmetros possuem uma configuração padrão, e o primeiro deles na seção "Configurações" da lateral direita é a temperatura, que está relacionada à criatividade do modelo.
Quanto maior o valor de temperatura, que varia entre 0 e 1, mais criativa será a resposta. Por outro lado, quanto mais próximo de 0 esse valor, mais determinística será a resposta, ou seja, mais restrita e focada na questão semântica do prompt de entrada o retorno será.
Outro parâmetro é o top-p, relacionado à variedade de palavras e vocabulário utilizada na resposta. Da mesma forma, a escala varia entre 0 e 1; quanto mais próximo de 1, mais variado será o vocabulário, enquanto valores próximos de 0 resultam em respostas concisas e, às vezes, repetitivas.
Também podemos configurar o tamanho da resposta, medido em tokens. Por exemplo: ao reduzir o número para 300 tokens e executar o mesmo prompt de antes, recebemos uma resposta similar, mas dentro do limite de tokens configurado.
Opções de sandália para passeio na praia.
Se a resposta gerasse mais de 300 tokens, como um retorno de 400 tokens, por exemplo, ela seria cortada, o que poderia comprometer o sentido do texto.
Outra configuração possível é a sequência de parada, onde podemos inserir um caractere que, ao atingir uma frequência de ocorrência, interrompe a resposta e a envia para a pessoa usuária.
Nas métricas do modelo da página de Playground de chats, além da contagem de tokens de entrada e saída, podemos acompanhar os custos das requisições. Cada execução envia uma requisição para um servidor, que processa a pergunta em linguagem natural e retorna uma resposta, gerando custos associados.
A vantagem de utilizar a inteligência artificial do Bedrock da Amazon é que não precisamos nos preocupar com a infraestrutura, pois as requisições são enviadas para a infraestrutura da AWS, funcionando no modo serverless. Isso significa que não precisamos configurar e provisionar um servidor, e o throughput sob demanda está disponível para requisições de diversas pessoas usuárias.
Além disso, não estamos restritos apenas ao Titan, ou seja, podemos mudar de modelo. Ao clicar em "Alterar" abaixo do nome do modelo, podemos navegar por outros modelos, como os do Anthropic.
Por exemplo: ao interagir com o Claude 3.5 Sonnet, observamos diferenças nas configurações, como os parâmetros "System prompts" e "Top K" (também relacionado à variedade de palavras).
A escala do top-k é maior, e quanto menor o valor, menos variado será o vocabulário, e vice-versa. Já os system prompts são prompts informados ao sistema, como em um chatbot.
Nesse campo, podemos definir que a resposta deve ser em português, concisa, ou que deve retornar apenas opções de sandálias disponíveis em um site específico, entre outras configurações possíveis.
Vamos experimentar o mesmo prompt de antes "Opções de sandália para passeio na praia." e configurar os system prompts para gerar uma resposta concisa, considerando um teste para uso do modelo em um chatbot de um site de moda.
Ajustaremos tanto a temperatura quanto o top-p para 0.7, e o comprimento máximo para 200 tokens. A resposta deve ser concisa e em português, com sugestões de sandálias adequadas.
Opções de sandália para passeio na praia.
System prompts:
Gerar resposta concisa, levando em consideração que está sendo realizado um teste para uso do modelo em um chatbot de site de moda.
- Temperatura: 0.7
- Top P: 0.7
- Top K: 250
- Comprimento máximo: 200
Dessa forma, recebemos uma resposta concisa, em português, com contagem de tokens de 55 de entrada e 178 de saída, sem custos adicionais. Observe o retorno completo abaixo:
Para um passeio na praia, recomendo as seguintes opções de sandálias:
- Rasteirinhas: Confortáveis e fáceis de tirar para andar na areia.
- Sandálias de tiras: Estilosas e seguras para caminhar.
- Chinelos de dedo: Práticos e ideais para praia.
- Sandálias de borracha: Resistentes à água e areia.
- Espadrilles: Casuais e elegantes para um look praiano.
Escolha um modelo confortável, resistente à água e fácil de limpar. Cores claras ou vibrantes combinam bem com o ambiente praiano.
É importante se atentar aos custos das requisições, que podem ser consultados na página Preços do Amazon Bedrock. Esses custos variam conforme a região da AWS (no nosso caso, "Leste dos EUA").
Podemos utilizar as tabelas dessa página para conferir os custos atualizados para cada região.
A contagem de tokens varia de modelo para modelo. Para verificar a contagem de tokens, no caso do ChatGPT, podemos utilizar a ferramenta Tokenizer da OpenAI.
Por exemplo: para o prompt "Opções de sandália para passeio na praia.", tivemos 41 caracteres e 10 tokens de entrada. Perceba que o token não coincide necessariamente com uma palavra, mas é um conjunto de caracteres que as LLMs consideram como unidade de entrada e saída.
Uma vez definido o modelo, precisamos pensar na construção do código para interagir diretamente com o modelo no Bedrock. Analisaremos isso a partir do próximo vídeo!
O curso Amazon Bedrock e Python: construa chatbots e ferramentas de geração de imagens com IA possui 142 minutos de vídeos, em um total de 47 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:
Impulsione a sua carreira com os melhores cursos e faça parte da maior comunidade tech.
1 ano de Alura
Assine o PLUS e garanta:
Formações com mais de 1500 cursos atualizados e novos lançamentos semanais, em Programação, Inteligência Artificial, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
A cada curso ou formação concluído, um novo certificado para turbinar seu currículo e LinkedIn.
No Discord, você tem acesso a eventos exclusivos, grupos de estudos e mentorias com especialistas de diferentes áreas.
Faça parte da maior comunidade Dev do país e crie conexões com mais de 120 mil pessoas no Discord.
Acesso ilimitado ao catálogo de Imersões da Alura para praticar conhecimentos em diferentes áreas.
Explore um universo de possibilidades na palma da sua mão. Baixe as aulas para assistir offline, onde e quando quiser.
Acelere o seu aprendizado com a IA da Alura e prepare-se para o mercado internacional.
1 ano de Alura
Todos os benefícios do PLUS e mais vantagens exclusivas:
Luri é nossa inteligência artificial que tira dúvidas, dá exemplos práticos, corrige exercícios e ajuda a mergulhar ainda mais durante as aulas. Você pode conversar com a Luri até 100 mensagens por semana.
Aprenda um novo idioma e expanda seus horizontes profissionais. Cursos de Inglês, Espanhol e Inglês para Devs, 100% focado em tecnologia.
Transforme a sua jornada com benefícios exclusivos e evolua ainda mais na sua carreira.
1 ano de Alura
Todos os benefícios do PRO e mais vantagens exclusivas:
Mensagens ilimitadas para estudar com a Luri, a IA da Alura, disponível 24hs para tirar suas dúvidas, dar exemplos práticos, corrigir exercícios e impulsionar seus estudos.
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais.
Escolha os ebooks da Casa do Código, a editora da Alura, que apoiarão a sua jornada de aprendizado para sempre.