arrow_back

Develop GenAI Apps with Gemini and Streamlit: laboratório com desafio

Teste e compartilhe seu conhecimento com nossa comunidade.
done
Tenha acesso a mais de 700 laboratórios, selos de habilidade e cursos

Develop GenAI Apps with Gemini and Streamlit: laboratório com desafio

Laboratório 1 hora 30 minutos universal_currency_alt 5 créditos show_chart Intermediário
info Este laboratório pode incorporar ferramentas de IA para ajudar no seu aprendizado.
Teste e compartilhe seu conhecimento com nossa comunidade.
done
Tenha acesso a mais de 700 laboratórios, selos de habilidade e cursos

GSP517

Laboratórios autoguiados do Google Cloud

Visão geral

Nos laboratórios com desafio, apresentamos uma situação e um conjunto de tarefas. Para concluí-las, em vez de seguir instruções detalhadas, você usará o que aprendeu nos laboratórios do curso. Um sistema automático de pontuação (mostrado nesta página) vai avaliar seu desempenho.

Nos laboratórios com desafio, não ensinamos novos conceitos do Google Cloud. O objetivo dessas tarefas é aprimorar aquilo que você já aprendeu, como a alteração de valores padrão ou a leitura e pesquisa de mensagens para corrigir seus próprios erros.

Para alcançar a pontuação de 100%, você precisa concluir todas as tarefas no tempo definido.

Este laboratório é recomendado para estudantes que se inscreveram no curso GenAI application development with Gemini and Streamlit. Tudo pronto para começar o desafio?

Configuração e requisitos

Antes de clicar no botão Start Lab

Leia estas instruções. Os laboratórios são cronometrados e não podem ser pausados. O timer é iniciado quando você clica em Começar o laboratório e mostra por quanto tempo os recursos do Google Cloud vão ficar disponíveis.

Este laboratório prático permite que você realize as atividades em um ambiente real de nuvem, não em uma simulação ou demonstração. Você vai receber novas credenciais temporárias para fazer login e acessar o Google Cloud durante o laboratório.

Confira os requisitos para concluir o laboratório:

  • Acesso a um navegador de Internet padrão (recomendamos o Chrome).
Observação: para executar este laboratório, use o modo de navegação anônima ou uma janela anônima do navegador. Isso evita conflitos entre sua conta pessoal e a conta de estudante, o que poderia causar cobranças extras na sua conta pessoal.
  • Tempo para concluir o laboratório---não se esqueça: depois de começar, não será possível pausar o laboratório.
Observação: não use seu projeto ou conta do Google Cloud neste laboratório para evitar cobranças extras na sua conta.

Cenário do desafio

Você começou a trabalhar na Cymbal Health há apenas alguns meses. A Cymbal Health é uma rede de saúde consagrada na região central-leste de Minnesota que tem como objetivo transformar a forma como a assistência médica é oferecida. A empresa une cuidados médicos e cobertura em um único plano de saúde para facilitar o atendimento médico de alta qualidade a um custo acessível.

Como um serviço de valor agregado, a Cymbal Health quer melhorar a qualidade de vida e o bem-estar dos clientes com dicas e conselhos nos apps. Uma área específica que a empresa quer melhorar é a nutrição dos clientes.

Logotipo da Cymbal Labs

Aproveitando a tecnologia do Gemini Pro, um modelo multimodal para gerar texto, áudio, imagens e vídeo, a Cymbal Health pode criar aplicativos que geram recomendações de refeições para os clientes.

Por exemplo, a equipe está trabalhando para criar um app de receitas com tecnologia de IA, que gera receitas com base nas preferências culinárias, restrições e alergias dos clientes usando os alimentos que eles costumam ter em casa ou podem comprar em um mercado. Sua tarefa é criar, testar e implantar uma prova de conceito (POC) para este app de receitas criado com o modelo Gemini Pro, o framework Streamlit e o Cloud Run. Como parte desta prova de conceito, há uma lista de tarefas que você precisa realizar em determinado período em um ambiente de sandbox.

Seu desafio

Suas tarefas são as seguintes:

  • Usar cURL para testar um comando com a API.
  • Escrever o framework Streamlit e criar um comando para gerar o código em Python para concluir o arquivo chef.py.
  • Testar o aplicativo.
  • Modificar o Dockerfile e enviar a imagem Docker para o Artifact Registry.
  • Implantar e testar o aplicativo no Cloud Run.

Tarefa 1: usar cURL para testar um comando com a API

Antes de começar a criar o app de receitas na Vertex AI, teste a conectividade com a API Gemini.

  1. Acesse o notebook gerenciado pelo usuário do Vertex AI Workbench oferecido a você pelo console do Cloud no ambiente do laboratório.

  2. Abra um terminal e faça o download do arquivo prompt.ipynb no Cloud Storage usando o seguinte comando:

    gsutil cp gs://spls/gsp517/prompt.ipynb .
  3. Modifique prompt.ipynb para incluir o ID do projeto e a região na célula 3. Essa informação está disponível no painel à esquerda das instruções do laboratório.

  4. Modifique prompt.ipynb para usar o seguinte comando com cURL na célula 5, substituindo o comando atual.

    I am a Chef. I need to create Japanese recipes for customers who want low sodium meals. However, I do not want to include recipes that use ingredients associated with a peanuts food allergy. I have ahi tuna, fresh ginger, and edamame in my kitchen and other ingredients. The customer wine preference is red. Please provide some for meal recommendations. For each recommendation include preparation instructions, time to prepare and the recipe title at the begining of the response. Then include the wine paring for each recommendation. At the end of the recommendation provide the calories associated with the meal and the nutritional facts.
  5. Execute todas as células e verifique os resultados.

  6. Salve prompt.ipynb.

Quando você estiver satisfeito com os resultados, confira o objetivo.

Para verificar o objetivo, clique em Verificar meu progresso. Usar cURL para testar um comando com a API.

Tarefa 2: escrever o framework Streamlit e criar um comando para gerar o código em Python para concluir o arquivo chef.py

Nesta tarefa, você vai clonar um repositório do GitHub e fazer o download do arquivo chef.py. Em seguida, você vai adicionar o código do framework Streamlit ao arquivo chef.py para incluir a preferência por vinho, concluindo a interface do usuário do aplicativo. Você também vai incluir um comando personalizado do Gemini (parecido com o da tarefa 1), mas este tem variáveis.

  1. Use o Cloud Shell para clonar o repositório abaixo no diretório padrão.

    git clone https://github.com/GoogleCloudPlatform/generative-ai.git
  2. Navegue até o diretório gemini-streamlit-cloudrun.

    cd generative-ai/gemini/sample-apps/gemini-streamlit-cloudrun Importante: todas as tarefas deste laboratório com desafio precisam ser feitas nesse diretório. Se você não fizer o download do arquivo chef.py nesse diretório, ele não poderá acessar o framework Streamlit. Também não vai ser possível testá-lo no Cloud Shell (tarefa 3), criar o contêiner do Docker (tarefa 4) e implantar e testar no Cloud Run (tarefa 5).
  3. Faça o download do arquivo chef.py usando o comando a seguir:

    gsutil cp gs://spls/gsp517/chef.py .
  4. Abra o arquivo chef.py no editor do Cloud Shell e revise o código.

    Observação: o arquivo chef.py já inclui o código da interface do usuário do framework Streamlit para as variáveis cuisine, dietary_preference, allergy, ingredient_1, ingredient_2 e ingredient_3. Revise esse código de interface antes de concluir a próxima etapa.
  5. Adicione o botão de opção do framework Streamlit para a variável wine. Inclua as opções "Red", "White" e "None".

  1. Salve o arquivo chef.py.

  2. Adicione o novo comando do Gemini a seguir no código em Python:

    prompt = f"""I am a Chef. I need to create {cuisine} \n recipes for customers who want {dietary_preference} meals. \n However, don't include recipes that use ingredients with the customer's {allergy} allergy. \n I have {ingredient_1}, \n {ingredient_2}, \n and {ingredient_3} \n in my kitchen and other ingredients. \n The customer's wine preference is {wine} \n Please provide some for meal recommendations. For each recommendation include preparation instructions, time to prepare and the recipe title at the begining of the response. Then include the wine paring for each recommendation. At the end of the recommendation provide the calories associated with the meal and the nutritional facts. """
  3. Salve o arquivo chef.py.

Quando o resultado do código do comando do Gemini que você adicionou ao chef.py for satisfatório, faça upload do arquivo para o bucket -generative-ai executando o comando abaixo no Cloud Shell. No console do Cloud, clique em Abrir terminal para abrir a sessão no Cloud Shell.

gcloud storage cp chef.py gs://{{{project_0.project_id|set at lab start}}}-generative-ai/

Para verificar o objetivo, clique em Verificar meu progresso. Escrever o framework Streamlit e criar um comando para gerar o código em Python para concluir o arquivo chef.py

Observação: execute o comando acima depois de fazer qualquer mudança no arquivo chef.py. Dessa forma, o arquivo chef.py atualizado vai estar no bucket.

Tarefa 3: testar o aplicativo

Nesta tarefa, você vai usar o terminal no Cloud Shell para executar e testar o aplicativo.

Verifique se você ainda está neste caminho: generative-ai/gemini/sample-apps/gemini-streamlit-cloudrun.

  1. Configure o ambiente virtual do Python e instale as dependências.

  2. Defina as variáveis de ambiente como PROJECT (como o ID do projeto) e REGION (como a região que você está usando no ambiente do laboratório).

  3. Execute e teste o aplicativo chef.py.

Depois de testar o aplicativo no Cloud Shell e confirmar que ele não tem erros e está funcionando conforme o esperado, confira o objetivo.

Para verificar o objetivo, clique em Verificar meu progresso. Testar o aplicativo.

Tarefa 4: modificar o Dockerfile e enviar a imagem para o Artifact Registry

Nesta tarefa, você vai modificar o Dockerfile de exemplo para usar o arquivo chef.py e enviar a imagem Docker para o Artifact Registry.

Importante: antes de concluir as etapas desta tarefa, recomendamos que você defina as variáveis de ambiente como PROJECT (como o ID do projeto) e REGION (como a região que você está usando no ambiente do laboratório), como fez na tarefa anterior.
  1. Use o editor do Cloud Shell para modificar o Dockerfile para usar o chef.py e salve o arquivo.

  2. No Cloud Shell, configure as seguintes variáveis de ambiente:

    Variável Valor
    AR_REPO 'chef-repo'
    SERVICE_NAME 'chef-streamlit-app'
    Observação: recomendamos que você combine esse comando e os dois comandos a seguir em um só, porque o processo para criar o Artifact Registry e enviar o build para o Cloud Build leva cerca de 8 minutos.
  3. Crie o repositório do Artifact Registry com o comando gcloud artifacts repositories create e os parâmetros a seguir:

    Parâmetro Valor
    nome do repositório $AR_REPO
    localização $REGION
    formato do repositório Docker
  4. Envie o build com o comando gcloud builds submit e os parâmetros a seguir:

    Parâmetro Valor
    tag "$REGION-docker.pkg.dev/$PROJECT/$AR_REPO/$SERVICE_NAME"
  5. Aguarde a conclusão do comando.

Verifique o objetivo após a conclusão do comando.

Para verificar o objetivo, clique em Verificar meu progresso. Modificar o Dockerfile e enviar a imagem Docker para o Artifact Registry.

Tarefa 5: implantar e testar o aplicativo no Cloud Run

Nesta tarefa, você vai implantar o aplicativo (como um artefato do Docker) no Cloud Run e vai testá-lo como se ele estivesse sendo executado do endpoint do serviço do Cloud Run.

  1. No Cloud Shell, implante o aplicativo (como um artefato do Docker) usando o comando gcloud run deploy e os seguintes valores de parâmetro:

    Parâmetro Valor
    porta 8080
    imagem "$REGION-docker.pkg.dev/$PROJECT/$AR_REPO/$SERVICE_NAME"
    flag --allow-unauthenticated
    região REGION
    plataforma gerenciado
    projeto PROJECT
    set-env-vars PROJECT=$PROJECT,REGION=$REGION
    Observação: talvez a pergunta "Quer ativar essas APIs para continuar (isso vai levar alguns minutos)?" seja exibida. Em caso afirmativo, selecione Y para sim.

    A implantação vai levar alguns minutos para ser concluída, e você vai receber um URL para o serviço do Cloud Run. Você pode acessá-lo no navegador para visualizar o aplicativo Cloud Run que acabou de implantar.

  2. Teste o aplicativo com o link recebido.

Depois de testar com sucesso o aplicativo em execução no Cloud Run, confira o objetivo.

Para verificar o objetivo, clique em Verificar meu progresso. Implantar e testar o aplicativo no Cloud Run.

Parabéns!

Ao concluir este laboratório com desafio, você mostrou suas habilidades de desenvolvimento de aplicativos de IA generativa com o Gemini e demonstrou como pode aplicá-las ao aplicativo de receitas com tecnologia de IA.

Selo de habilidade GenAI application development with Gemini and Streamlit

Próximas etapas / Saiba mais

Treinamento e certificação do Google Cloud

Esses treinamentos ajudam você a aproveitar as tecnologias do Google Cloud ao máximo. Nossas aulas incluem habilidades técnicas e práticas recomendadas para ajudar você a alcançar rapidamente o nível esperado e continuar sua jornada de aprendizado. Oferecemos treinamentos que vão do nível básico ao avançado, com opções de aulas virtuais, sob demanda e por meio de transmissões ao vivo para que você possa encaixá-las na correria do seu dia a dia. As certificações validam sua experiência e comprovam suas habilidades com as tecnologias do Google Cloud.

Manual atualizado em 4 de abril de 2024

Laboratório testado em 8 de março de 2024

Copyright 2024 Google LLC. Todos os direitos reservados. Google e o logotipo do Google são marcas registradas da Google LLC. Todos os outros nomes de produtos e empresas podem ser marcas registradas das respectivas empresas a que estão associados.

Este conteúdo não está disponível no momento

We will notify you via email when it becomes available

Ótimo!

We will contact you via email if it becomes available