Um tour pela Duet AI para desenvolvedores

1. Introdução

Neste laboratório, você vai usar a Duet AI, uma colaboradora com tecnologia de IA no Google Cloud. Você vai aprender a usar o chat da Duet AI e a assistência de código inline para gerar e entender códigos e muito mais.

O que você vai fazer…

  • Você vai usar o Cloud Shell IDE para baixar um modelo de código de um aplicativo da Web.
  • Você vai usar o chat do Duet AI no Cloud Shell IDE para fazer perguntas gerais sobre o Google Cloud.
  • Você vai usar a assistência de código inline do Duet AI no Cloud Shell IDE para gerar, resumir e concluir o código.

O que você vai aprender…

  • Como usar a Duet AI para várias tarefas de desenvolvimento, como geração, conclusão e resumo de código.
  • Como usar a Duet AI para aprender sobre o Google Cloud.

O que é necessário…

  • Navegador da Web Google Chrome
  • Uma conta do Gmail
  • Um projeto do Cloud com faturamento ativado
  • Duet AI ativada no projeto do Cloud

Este laboratório é voltado para desenvolvedores com todos os níveis de conhecimento, inclusive iniciantes. O aplicativo de amostra está na linguagem Python, mas você não precisa conhecer esse tipo de programação para entender o que está acontecendo. Nosso foco será apresentar os recursos da Duet AI para desenvolvedores.

2. Configuração

Nesta seção, você vai encontrar tudo o que precisa fazer para começar o laboratório.

Ativar a Duet AI no projeto do Google Cloud

Agora ative a API Duet AI no projeto do Google Cloud. Siga estas etapas:

  1. Acesse https://console.cloud.google.com e confira se você selecionou o projeto do Google Cloud com que vai trabalhar neste laboratório. Clique no ícone da Duet AI no canto superior direito.

e28d7b796fb2ab47.png

  1. A janela de chat da Duet AI vai abrir no lado direito do console. Clique no botão "Ativar" como mostrado abaixo. Se o botão Ativar não aparecer e, em vez disso, uma interface do chat for mostrada, é provável que você já tenha ativado a Duet AI no projeto e vá direto para a próxima etapa.

f207244ecb9d6b0d.png

  1. Depois da ativação, é possível testar a Duet AI com uma ou duas consultas. Alguns exemplos de consultas são mostrados, mas é possível tentar algo como What is Cloud Run?

faa821f22611784a.png

A Duet AI vai responder à pergunta. Clique no ícone f68286b2b2ea5c0a.png no canto superior direito para fechar a janela de chat da Duet AI.

Ativar a Duet AI no Cloud Shell IDE

Vamos usar o Cloud Shell IDE no restante do codelab. É necessário ativar e configurar a Duet AI nesse ambiente. Por isso, siga as etapas abaixo:

  1. Inicie o Cloud Shell com o ícone mostrado abaixo. Esse processo pode levar um ou dois minutos.

72dc3df7b007fcde.png

  1. Clique no botão Editor ou Abrir editor (conforme o caso) e aguarde até que o Cloud Shell IDE apareça na tela. Se estiver disponível, clique no botão Conheça o novo editor.

1e0437ef773faca8.png

  1. Clique no botão Cloud Code – Fazer login na barra de status inferior, como mostrado. Autorize o plug-in conforme instruído. Se a barra de status mostrar Cloud Code – sem projeto, clique na opção e escolha o projeto do Google Cloud com que você quer trabalhar na lista.

3c448ebc5cef03e4.png

  1. (Opcional). Se a Duet AI não aparecer na barra de status na parte inferior direita, ative a Duet AI no Cloud Code. No entanto, antes de tudo, confira se a Duet AI está ativada no ambiente de desenvolvimento integrado. Para isso, acesse Extensão do Cloud Code → Configurações e insira o texto Duet AI: Ativar, conforme mostrado abaixo. Confira se a caixa de seleção está marcada. Atualize o ambiente de desenvolvimento integrado. Assim você ativa a Duet AI no Cloud Code e a barra de status aparece lá.

d5743fc11ee117bc.png

  1. Clique no botão Duet AI no canto inferior direito, conforme mostrado, e selecione o projeto correto do Google Cloud em que a API Cloud AI Companion foi ativada.

d98bff6476bb15a.png

  1. Depois de selecionar o projeto do Google Cloud, confira se a mensagem de status do Cloud Code aparece na barra de status. Analise também se a Duet AI está ativada à direita, na barra de status, conforme mostrado abaixo:

31002a565ea80e72.png

A Duet AI está pronta para uso.

3. Criar o aplicativo de amostra

Vamos criar um aplicativo de amostra (Python Flask) para conhecer os recursos da Duet AI.

Siga estas etapas:

  1. Clique no nome do projeto do Google Cloud na barra de status abaixo.

a09e8f79daad1643.png

  1. Uma lista de opções vai aparecer. Clique em Novo aplicativo na lista abaixo.

ed0e37d92af49b65.png

  1. Selecione o aplicativo do Cloud Run.
  2. Selecione o modelo de aplicativo Python (Flask): Cloud Run.
  3. Salve o novo aplicativo no local de sua preferência.
  4. Uma notificação confirma que o aplicativo foi criado. Além disso, uma nova janela é aberta com o aplicativo carregado, conforme mostrado abaixo. Um arquivo README.md é aberto. Por enquanto, você pode fechar essa visualização.

b29976a316b5bc21.png

4. Conversar com a Duet AI

Primeiro você vai aprender a conversar com a Duet AI. A Duet AI está disponível como assistente de chat no Cloud Shell IDE, inserida na extensão do Cloud Code no VS Code. Para acessar, clique no botão da Duet AI na barra de navegação esquerda. Procure e clique no ícone 94e547b05e30e432.png da Duet AI na barra de ferramentas de navegação à esquerda.

Assim você abre o painel da Duet AI no Cloud Shell IDE e pode conversar com a ferramenta para receber ajuda com o Google Cloud.

b99f4f97fd1a1b62.png

Vamos usar o painel para inserir um comando e conferir a resposta da Duet AI. Digite o seguinte comando:

What is Cloud Run? 

A Duet AI vai responder com informações sobre o Cloud Run. Comandos são perguntas ou declarações que descrevem a ajuda de que você precisa e podem incluir o contexto do código que o Google Cloud analisa para dar respostas mais úteis ou completas. Para saber mais sobre como escrever comandos e gerar boas respostas, consulte Escrever comandos melhores para a Duet AI.

Teste estes exemplos de comandos ou um próprio para fazer perguntas sobre o Google Cloud:

  • What is the difference between Cloud Run and Cloud Functions?
  • What services are available on Google Cloud to run containerized workloads?
  • What are the best practices to optimize costs while working with Google Cloud Storage?

5. Explicação do código

Para aumentar sua produtividade e minimizar a troca de contexto, a Duet AI oferece ações inteligentes com tecnologia de IA direto no editor de código. Quando você seleciona o código no editor, é possível conferir e selecionar em uma lista as ações relevantes para o contexto.

Use a Duet AI para entender partes do código do aplicativo. Volte ao aplicativo criado na etapa anterior e use a Duet AI para explicar os arquivos e o código disponíveis no ambiente de desenvolvimento integrado.

  1. Se os arquivos não aparecerem, clique em Explorer (Menu do Code OSS Explorer) na barra de atividades do ambiente de desenvolvimento integrado.
  2. No painel do Explorer, selecione Dockerfile.
  3. Selecione uma parte do conteúdo do arquivo, clique na lâmpada (Lâmpada do Duet AI no Code OSS) e em Explicar isto. Por exemplo, selecione a linha que começa com ENTRYPOINT, clique na lâmpada (Lâmpada do Duet AI no Code OSS) e em Explicar isto. A Duet AI gera uma explicação em linguagem natural sobre a seção específica do Dockerfile de que você precisa de mais informações. A Duet AI responde com informações sobre a instrução ENTRYPOINT. Você aprendeu que, com essa instrução, o Docker vai executar o arquivo app.py quando o contêiner for iniciado.
  4. Para acessar o conteúdo do arquivo app.py, na barra de atividades, clique em Explorer (Menu do Code OSS Explorer) e selecione app.py.
  5. Na definição da função hello(), selecione as linhas de que você quer mais informações. Em seguida, clique na lâmpada (Lâmpada do Duet AI no Code OSS) e em Explicar isto. No exemplo, você selecionou as duas linhas de código seguintes e acionou Explicar isto.

14d9c56af016b65d.png

  1. A Duet AI responde com uma explicação detalhada dessas duas variáveis de ambiente do Cloud Run (K_SERVICE, K_REVISION) e como são usadas no código do aplicativo. Vale destacar que a Duet AI, com seu conhecimento do Google Cloud e de serviços como o Cloud Run, não apenas explicou o código Python, mas também o contexto do que essas variáveis significam no Cloud Run.

Teste as seguintes maneiras para ter uma explicação do código:

  1. Mantenha app.py como o arquivo aberto no ambiente de desenvolvimento integrado. Acesse o painel de chat da Duet AI na barra de navegação à esquerda no VS Code e digite o comando Explique este arquivo. Assim a ferramenta vai analisar e explicar todo o arquivo para você.
  2. Também é possível selecionar uma parte do arquivo, usar o painel de chat da Duet AI à esquerda e digitar o comando Explique isto. Assim apenas a parte selecionada vai receber uma explicação. É como clicar na lâmpada (Lâmpada do Duet AI no Code OSS) e depois em Explicar isto.
  3. Também é possível selecionar uma parte do texto e clicar nas Ações inteligentes da Duet AI no canto superior direito do ambiente de desenvolvimento integrado, conforme mostrado abaixo, para acessar uma lista de ações que podem ser realizadas no texto selecionado. Uma das opções é a ação Explique isto:

35b59223f0726492.png

6. Gerar código com comandos

Nesta seção, vamos mostrar como usar a Duet AI para gerar código com base em comentários.

Vamos testar esses recursos. Siga estas etapas:

  1. Crie um arquivo chamado utils.py.
  2. No novo arquivo de código, em uma nova linha, digite # Function to print a list of blobs in a Google Cloud Storage bucket e pressione Enter (no Windows e no Linux) ou Return (no MacOS). A Duet AI pode tentar gerar código enquanto você digita, mas não aceite. Vamos acionar a geração de código na próxima etapa.
  3. Para acionar a geração de código, pressione Control+Enter (no Windows e no Linux) ou Control+Return (no MacOS). Ao lado do texto do comando no arquivo Python, a Duet AI gera o código na forma de texto fantasma. Uma ou mais sugestões de código vão aparecer em uma barra de ferramentas em que você pode navegar de uma para outra (caso haja várias). É possível até aceitar as sugestões de código na barra de ferramentas. Caso a barra de ferramentas não apareça ou desapareça, passe o cursor sobre o código gerado para exibir o recurso de novo.
  4. Opcional: para aceitar o código gerado, pressione Tab. Caso haja várias sugestões, pressione Tab várias vezes para navegar de um snippet de código sugerido para o próximo.

O código que você aceitou no arquivo utils.py vai ser inserido. Confira abaixo uma captura de tela de exemplo. Talvez o código gerado seja diferente do mostrado abaixo.

ef132e1f83eaf508.png

Há uma linha ondulada ao redor do código. É a citação de código. Se você passar o cursor sobre uma das linhas, a atribuição do código e outras informações relevantes sobre o licenciamento vão ser exibidas. Confira um exemplo a seguir:

84b8d1024b867a48.png

Para ignorar o aviso de citação, clique em Correção rápida…. Assim você exibe a sugestão de correção rápida, que é mostrada abaixo:

10f4672830954c90.png

Escolha Ignorar aviso de citação se aceitar a licença do código.

(Opcional) Confira outras sugestões para a geração de código:

  1. Também é possível usar o recurso de chat da Duet AI para fazer o mesmo comando e receber a resposta na janela de chat. A interface do chat mostra opções para copiar o código ou inserir no arquivo atual.
  2. Crie seus próprios comandos para gerar exemplos de código de que você precisa. Seguem algumas sugestões (considerando que você está em um arquivo Python) ou escolha entre os comandos abaixo:
  • Escreva um código Python para publicar uma mensagem no Google Cloud Pub/Sub.
  • Escreva um código Python para inicializar um cliente do BigQuery.
  • Escreva um código Python para conectar meu aplicativo ao Cloud SQL.

7. Receber sugestões de código inline durante a programação

Enquanto você escreve o código, a Duet AI faz sugestões inline que você pode aceitar ou ignorar. Para testar esse recurso, mude o arquivo utils.py criado na seção anterior:

  1. Abra utils.py como o arquivo atual no Cloud Shell IDE.
  2. Uma das coisas que você pode fazer é dar as instruções import corretas, se elas não estiverem no código gerado.
  3. Quando você começar a digitar a palavra import, a Duet AI vai sugerir um código na forma de texto fantasma. Para aceitar a sugestão, pressione Tab. Caso contrário, pressione Esc ou continue a escrever o código. A tela de exemplo abaixo sugere importar a classe storage, já que está em uso no código. Pressione Tab para aceitar a sugestão de código. A instrução import os também é sugerida, mas, como não é necessária, pode ser removida.

cb3dfff74172959d.png

  1. Vá para o final do arquivo utils.py e adicione a linha para invocar a função, se ela não for fornecida. Nesse caso, é a função list_blobs. Basta começar a digitar o nome da função e a conclusão de código vai ajudar a finalizar a instrução.
  2. É necessário informar o bucket_name e usar o seguinte nome de bucket público: duetai-tour-bucket. Confira abaixo o exemplo de invocação da função. Há pequenas diferenças em termos de nomes de funções etc.

ac3818b516ef228f.png

(Opcional) Executar o exemplo de código

Como você escreveu o código para listar os blobs em um bucket do Google Cloud Storage, vai ser necessário instalar a biblioteca Python google-cloud-storage.

Acesse o arquivo requirements.txt e adicione uma nova linha com a dependência google-cloud-storage, conforme mostrado abaixo. Um exemplo de arquivo requirements.txt é mostrado abaixo.

Flask==2.3.3
requests==2.31.0
debugpy # Required for debugging.
google-cloud-storage

Salve o arquivo requirements.txt.

Para conferir o código na prática, é necessário iniciar uma nova sessão do terminal no Cloud Shell IDE pelo ícone de menu no canto superior esquerdo. Clique no ícone de menu e em Terminal → Novo terminal, conforme mostrado abaixo:

6bd5bec67de34b2a.png

Na sessão do terminal, instale as dependências do Python com o seguinte comando:

pip install -r requirements.txt

Por fim, execute o arquivo utils.py com o seguinte comando:

python utils.py

Assim você exibe os blobs presentes no bucket público do Google Cloud Storage. O ideal é que dois blobs sejam listados na saída (file1.txt e file2.txt).

Solução de problemas

Caso você receba um erro de "acesso" ao exibir os objetos no bucket público acima, é possível criar seu próprio bucket do Google Cloud Storage para usar em vez de duetai-tour-bucket. A próxima seção mostra como fazer isso.

(Opcional) Criar o próprio bucket do Cloud Storage

Com a ajuda da Duet AI, vamos gerar comandos para criar e tornar o bucket publicamente acessível, além de fazer upload de objetos de exemplos nele.

Comece com o seguinte comando: Qual é o comando gcloud para criar um bucket público no Google Cloud Storage?.

Assim você gera um comando gcloud para criar um bucket. O comando exato é mostrado abaixo:

gcloud storage buckets create gs://<BUCKET_NAME>

Selecione um nome exclusivo para <BUCKET_NAME> e execute o comando no terminal.

Agora que o bucket foi criado, vai ser acessível publicamente. Vamos pedir à Duet AI o comando para fazer isso com o seguinte prompt: Como tornar um bucket do Google Cloud Storage acessível publicamente?.

Assim você gera um comando gcloud para tornar o bucket publicamente acessível. A resposta vai ser semelhante a esta:

gcloud storage buckets add-iam-policy-binding gs://<BUCKET_NAME> --member=allUsers --role=roles/storage.objectViewer

Substitua <BUCKET_NAME> pelo nome do bucket usado antes e execute o comando.

Por fim, vamos fazer upload de alguns arquivos de exemplo no bucket. Execute os comandos a seguir no terminal. Não se esqueça de substituir a variável <BUCKET_NAME> pelo nome do bucket.

touch f1.txt
touch f2.txt

gcloud storage cp f1.txt gs://<BUCKET_NAME>
gcloud storage cp f2.txt gs://<BUCKET_NAME>

Agora você pode executar o arquivo utils.py com <BUCKET_NAME> em vez de duetai-tour-bucket.

8. Parabéns!

Parabéns! Você usou a Duet AI em um projeto de exemplo para entender como a ferramenta pode ajudar na geração, na conclusão e no resumo de código, bem como para encontrar respostas a perguntas sobre o Google Cloud.

Documentos de referência…