1. Visão geral
Este laboratório se concentra no uso da CLI do Gemini, um agente de código aberto com tecnologia de IA no Google Cloud. Você vai aprender a usar a CLI do Gemini para várias tarefas, incluindo entender bases de código atuais, gerar documentação e testes de unidade, refatorar componentes de interface e back-end de um aplicativo Web Python.
O que você vai aprender
Neste laboratório, você vai aprender a:
- Como usar a CLI do Gemini para tarefas comuns de desenvolvedores.
Pré-requisitos
- Para fazer este laboratório, é preciso saber usar o console do Cloud e ambientes shell.
2. Configuração e requisitos
Configuração do projeto do Cloud
- Faça login no Console do Google Cloud e crie um novo projeto ou reutilize um existente. Crie uma conta do Gmail ou do Google Workspace, se ainda não tiver uma.
- O Nome do projeto é o nome de exibição para os participantes do projeto. É uma string de caracteres não usada pelas APIs do Google e pode ser atualizada quando você quiser.
- O ID do projeto precisa ser exclusivo em todos os projetos do Google Cloud e não pode ser mudado após a definição. O console do Cloud gera automaticamente uma string exclusiva. Em geral, não importa o que seja. Na maioria dos codelabs, é necessário fazer referência ao ID do projeto, normalmente identificado como
PROJECT_ID
. Se você não gostar do ID gerado, crie outro aleatório. Se preferir, teste o seu e confira se ele está disponível. Ele não pode ser mudado após essa etapa e permanece durante o projeto. - Para sua informação, há um terceiro valor, um Número do projeto, que algumas APIs usam. Saiba mais sobre esses três valores na documentação.
- Em seguida, ative o faturamento no console do Cloud para usar os recursos/APIs do Cloud. A execução deste codelab não vai ser muito cara, se tiver algum custo. Para encerrar os recursos e evitar cobranças além deste tutorial, exclua os recursos criados ou exclua o projeto. Novos usuários do Google Cloud estão qualificados para o programa de US$ 300 de avaliação sem custos.
Configuração do ambiente
Abra o chat do Gemini.
Ou digite "Perguntar ao Gemini" na barra de pesquisa.
Ative a API Gemini para Google Cloud:
Ative a GCA na próxima tela.
Clique em Start chatting
e siga uma das perguntas de exemplo ou digite seu próprio comando para testar.
Sugestões de comandos:
- Explique o Cloud Run em cinco pontos principais.
- Você é gerente de produtos do Google Cloud Run. Explique o Cloud Run para um estudante em cinco pontos principais.
- Você é gerente de produtos do Google Cloud Run. Explique o Cloud Run para um desenvolvedor certificado do Kubernetes em cinco pontos principais curtos.
- Você é gerente de produtos do Google Cloud Run. Explique quando usar o Cloud Run em vez do GKE para um desenvolvedor sênior em cinco pontos principais curtos.
Feche a janela de chat do Gemini Cloud Assist quando terminar.
Confira o guia de comandos para saber mais sobre como escrever comandos melhores.
Como o Gemini para Google Cloud usa seus dados
Compromisso do Google com a privacidade
O Google foi um dos primeiros no setor a publicar um compromisso de privacidade de IA/ML, que descreve nossa convicção de que os clientes precisam ter o mais alto nível de segurança e controle sobre os dados armazenados na nuvem.
Dados que você envia e recebe
As perguntas que você faz ao Gemini, incluindo informações ou códigos que você envia para ele analisar ou realizar, são chamadas de comandos. As respostas ou gerações de código que você recebe do Gemini são chamadas de respostas. O Gemini não usa seus comandos nem as respostas deles como dados para treinar os modelos.
Criptografia de comandos
Quando você envia comandos ao Gemini, seus dados são criptografados em trânsito como entrada para o modelo.
Dados de programação gerados pelo Gemini
O Gemini é treinado com código próprio do Google Cloud e código selecionado de terceiros. Você é responsável pela segurança, pelos testes e pela eficácia do seu código, incluindo preenchimento automático, geração ou análise de código que o Gemini oferece.
Saiba mais sobre como o Google processa seus comandos.
3. Opções para testar comandos
Se você quiser mudar os comandos atuais, há várias opções.
O Vertex AI Studio faz parte da plataforma Vertex AI do Google Cloud e foi projetado especificamente para simplificar e acelerar o desenvolvimento e o uso de modelos de IA generativa.
O Google AI Studio é uma ferramenta baseada na Web para criar protótipos e testar a engenharia de comando e a API Gemini.
- Web app Gemini (gemini.google.com)
O web app Google Gemini (gemini.google.com) é uma ferramenta baseada na Web criada para ajudar você a conhecer e usar o poder dos modelos de IA do Gemini do Google.
- App Gemini para dispositivos móveis no Android e app Google no iOS
4. Baixar e examinar o aplicativo
Clique no ícone à direita da barra de pesquisa para ativar o Cloud Shell.
Se for preciso autorizar, clique em "Autorizar" para continuar.
No terminal, execute os comandos abaixo para clonar o repositório Git localmente.
git clone https://github.com/gitrey/calendar-app-lab
cd calendar-app-lab
Inicie o "Editor do Cloud Shell".
Abra a pasta "calendar-app-lab
".
Inicie um novo terminal no editor do Cloud Shell.
Seu ambiente precisa ser semelhante à captura de tela abaixo.
5. Introdução à CLI do Gemini
A CLI do Gemini é um agente de IA de código aberto que se integra aos modelos do Gemini no Google Cloud. Ele permite que os desenvolvedores realizem várias tarefas diretamente do terminal, como entender bases de código, gerar documentação e testes de unidade e refatorar código. O principal benefício da CLI do Gemini é a capacidade de simplificar os fluxos de trabalho de desenvolvimento, trazendo o poder da IA generativa diretamente para o ambiente de linha de comando do desenvolvedor, reduzindo a troca de contexto e aumentando a produtividade.
Esta etapa, para definir a variável de ambiente, não é necessária no ambiente do Qwiklabs. Continue para a próxima etapa.
No seu ambiente local, se você estiver usando uma licença paga do Code Assist da sua organização, defina o projeto do Google Cloud no terminal. Mais detalhes.
export GOOGLE_CLOUD_PROJECT="YOUR_PROJECT_NAME"
Verifique se você está na raiz da pasta do projeto:
cd ~/calendar-app-lab
Inicie a CLI do Gemini na janela do terminal:
gemini
Seu ambiente precisa ser semelhante à captura de tela abaixo.
Se você estiver seguindo as etapas no ambiente local, ative a integração com seu ambiente de desenvolvimento integrado.
É possível mudar essa configuração executando /ide disable | enable
.
Se você estiver fazendo o laboratório no ambiente do Qwiklabs, selecione "Use Cloud Shell user credentials
".
Caso contrário, autentique a CLI do Gemini executando o seguinte comando e selecione "Login with Google
":
/auth
Depois de reiniciar a CLI, você vai receber uma solicitação para autorizar o aplicativo seguindo um link fornecido.
Abra o link e siga as etapas para fazer login com as credenciais de estudante do Qwiklabs.
Copie o código de verificação e volte ao terminal para concluir o processo colando o código.
Para verificar seu método de autenticação, execute o seguinte comando:
/about
6. Entendimento da base de código
Você pode usar a CLI do Gemini para entender rapidamente a base de código pedindo que ela resuma a finalidade de arquivos ou diretórios e explique funções complexas ou seções de código. Isso permite que os desenvolvedores se integrem rapidamente a novos projetos ou entendam partes desconhecidas do código sem uma análise manual detalhada.
Para saber mais sobre a base de código, envie o seguinte comando na CLI do Gemini:
Don't suggest any changes. Explain this codebase to me.
Analise a saída:
7. Iniciar o aplicativo localmente
A CLI do Gemini pode simplificar muito a execução do seu aplicativo Python localmente, ajudando você a gerar automaticamente arquivos de configuração essenciais, como requirements.txt ou um Dockerfile básico. Além disso, é excelente para gerenciar dependências do Python e solucionar problemas, já que pode explicar rapidamente erros de rastreamento resultantes de pacotes ausentes ou conflitos de versão e, muitas vezes, sugerir o comando pip install exato para corrigir o problema.
Para iniciar o aplicativo localmente, insira o seguinte comando no terminal da CLI Gemini:
Run this app locally
Siga as instruções para iniciar o aplicativo:
Clique no link para visualizar o aplicativo:
Exemplo de resposta:
8. Adicionar documentação
A CLI do Gemini é eficaz para documentação e comentários, permitindo gerar docstrings para funções ou classes instantaneamente. Você também pode usar esse recurso para adicionar rapidamente comentários explicativos inline a blocos de código complexos ou desconhecidos, melhorando significativamente a clareza e a capacidade de manutenção da base de código.
Para adicionar comentários a todos os arquivos Python no aplicativo, use o terminal da CLI do Gemini e insira o seguinte comando:
Add docstrings to all files
Aprove as mudanças sugeridas. Se a integração do ambiente de desenvolvimento integrado estiver ativada, aceite e continue usando os controles da interface ou pressionando "Enter" no terminal. Também é possível ativar o modo de aprovação automática(YOLO) com "ctrl+y
".
Atualize o arquivo .gitignore
com o seguinte comando:
update .gitignore and add __pycache__ folder
Mude para a visualização "Controle de origem" e revise as mudanças feitas até agora:
9. Adicionar testes de unidade
A CLI do Gemini é excelente para escrever testes de unidade, permitindo que os desenvolvedores gerem funções de teste com base na assinatura e na lógica de uma função existente, com declarações iniciais e configuração de simulação. Os desenvolvedores ainda precisam revisar e validar os testes gerados para garantir que eles cubram de maneira significativa todos os casos extremos necessários e não apenas a execução de caminhos simplistas.
Usando o comando abaixo para gerar testes de unidade:
Generate unit tests for @calendar.py
Aceite as mudanças depois de revisá-las.
Instale novas dependências e execute os testes. A CLI do Gemini vai observar, corrigir e executar novamente o código gerado em um loop até que os testes sejam aprovados e o código seja validado.
10. Verificar se há bugs
A CLI do Gemini pode ajudar a verificar bugs na lógica, permitindo que você peça para ela analisar snippets de código, identificando possíveis falhas lógicas, erros de um em um ou tratamento condicional incorreto. Ao explicar o comportamento pretendido do código e pedir à CLI para identificar discrepâncias, você pode detectar rapidamente defeitos sutis antes de executar o código.
Para verificar se há bugs na lógica de conversão, envie o seguinte comando na CLI do Gemini:
Are there any bugs in the conversion logic? Check if negative numbers are handled properly.
Revise e aceite as mudanças sugeridas na conversa:
11. Refatorar a interface
A CLI do Gemini pode ajudar muito na refatoração da interface do usuário, traduzindo padrões mais antigos (como componentes de classe) em paradigmas funcionais mais novos e modernos (como hooks no React) ou sugerindo melhorias estruturais para facilitar a manutenção. Use-o para analisar e refatorar o código da interface atual em componentes mais modulares e reutilizáveis, garantindo um design de interface mais limpo e padronizado.
Refatore a interface usando a biblioteca Bootstrap enviando o seguinte comando para a CLI do Gemini:
Refactor UI to use Bootstrap library
Leia e aceite as mudanças:
Para começar, inicie o aplicativo. Se ele já estiver em execução, basta atualizar a página.
python3 main.py
Atualize a página e confira as mudanças.
Implemente o tratamento de erros para garantir que uma página de erro seja exibida quando surgirem problemas.
Implement error handling to display an error page when issues occur.
Atualize a página para conferir as atualizações.
Envie um número negativo para confirmar a página de erro.
12. Refatorar o back-end
A CLI do Gemini é eficaz para refatoração de back-end, ajudando na migração de código de framework legado para alternativas modernas ou na reestruturação de serviços monolíticos em componentes de microsserviços mais gerenciáveis. Ele pode analisar a lógica do lado do servidor para sugerir padrões de consulta de banco de dados aprimorados ou designs de endpoints de API mais eficientes, garantindo que o desempenho e a escalonabilidade sejam mantidos ou aprimorados.
Modifique o back-end para salvar solicitações de conversão na memória.
Store requests in memory and create a page to display conversion history. Add links on all pages to view the history.
Leia e aceite as mudanças na conversa:
Envie várias solicitações ao aplicativo e revise a página de histórico.
Revise o histórico de solicitações de conversão.
Para atualizar o arquivo README.md com o estado atual da base de código, envie este comando pela CLI do Gemini:
analyze README.md file and update it with latest codebase state
Verifique a saída. Se você ativou a integração do Cloud Shell, use o controle da interface para acessar as mudanças ou faça isso no terminal.
13. Ferramentas integradas da CLI do Gemini
A CLI do Gemini inclui ferramentas integradas que o modelo do Gemini usa para interagir com seu ambiente local, acessar informações e realizar ações. Essas ferramentas melhoram os recursos da CLI, permitindo que ela vá além da geração de texto e ajude em uma ampla variedade de tarefas.
Envie este comando na CLI do Gemini para ver as ferramentas disponíveis:
/tools
Verifique a saída.
A CLI do Gemini seleciona de maneira inteligente as ferramentas integradas mais adequadas com base na tarefa fornecida. Assim, ela pode executar operações complexas usando o entendimento do seu pedido e das funcionalidades disponíveis. Saiba mais sobre as ferramentas integradas.
14. Comando Gemini CLI Repo Init
A CLI Gemini inclui um comando para analisar o projeto e criar um arquivo GEMINI.md personalizado.
Para gerar o arquivo GEMINI.md, envie o seguinte comando usando a CLI do Gemini:
/init
Verifique a saída. Esse comando cria um arquivo GEMINI.md, que resume a finalidade, as tecnologias, as instruções de build/execução e as convenções de desenvolvimento do projeto para contexto futuro.
Para entender quais instruções ou contexto incluir no arquivo GEMINI.md
do projeto, um bom ponto de partida é revisar o arquivo GEMINI.md encontrado no repositório gemini-cli
.
15. Comandos personalizados da CLI do Gemini
É possível simplificar seu fluxo de trabalho de desenvolvimento e manter a consistência usando comandos personalizados na CLI do Gemini. Esses comandos funcionam como atalhos pessoais para os comandos mais usados. Você pode criar comandos específicos para um único projeto ou disponibilizá-los globalmente em todos os projetos.
O repositório vem com vários comandos personalizados localizados na pasta .gemini/commands
.
Comando personalizado para criar um diagrama
Envie esse comando na CLI do Gemini para gerar um diagrama de fluxo de solicitação no formato Mermaid.
Aceitar chamadas de ferramentas, como criar uma pasta e salvar um arquivo.
/diagram:new request flow for this app
Verifique a saída.
Se quiser visualizar o diagrama, instale a extensão Mermaid Chart
no Marketplace.
Abra o arquivo e selecione "Visualizar" no menu de contexto.
Comando personalizado para criar um deck
Envie esse comando na CLI do Gemini para gerar um apresentação com os principais pontos no formato Marp.
Aceitar chamadas de ferramentas, como criar uma pasta e salvar um arquivo.
/deck:new key points and details for this app
Verifique a saída.
Esta etapa não é compatível com o Cloud Shell, porque a extensão Marp exige a instalação de um navegador da Web.
Instale a extensão Marp para VS Code no Marketplace para salvar o deck.
Caso contrário, abra o arquivo gerado no editor e, na paleta de comandos, selecione "Marp: Export Slide Deck
".
Comando personalizado para planejar a implementação de um novo recurso
Envie esse comando na CLI do Gemini para refatorar a interface.
Aceitar chamadas de ferramentas, como criar uma pasta e salvar um arquivo.
/plan:new refactor UI to use Materialize CSS
Verifique a saída.
Inicie o processo de refatoração da interface enviando este comando pela CLI do Gemini, com base no plano gerado anteriormente.
Aceitar chamadas de ferramentas, como criar uma pasta e salvar um arquivo. É possível ativar o modo de aprovação automática de ferramentas(YOLO mode
) usando "ctrl+y
".
/plan:impl implement the plan to refactor the app
Inicie/recarregue o aplicativo e analise a saída:
16. Modo não interativo da CLI do Gemini
Ao executar a CLI do Gemini em um modo não interativo em um pipeline de CI/CD, é possível automatizar várias tarefas transmitindo comandos e solicitações diretamente para a CLI sem precisar de intervenção manual. Isso permite uma integração perfeita em fluxos de trabalho automatizados para análise de código, geração de documentação e outras tarefas de desenvolvimento.
Abra um novo terminal ou feche a sessão atual da CLI Gemini e execute este comando.
gemini -p "Explain the architecture of this codebase"
Verifique a saída.
Se a tarefa exigir aprovação de ferramentas, ative o modo YOLO com a flag -y
.
gemini -p "Explain the architecture of this codebase and save the file in the markdown format in the docs folder" -y
Verifique a saída.
Ao usar a CLI do Gemini no modo não interativo, você pode melhorar significativamente os recursos de automação dos seus pipelines de CI/CD, resultando em ciclos de desenvolvimento mais eficientes e melhor qualidade do código.
17. Modo shell da CLI Gemini
Embora os LLMs processem tarefas complexas, os comandos diretos são mais eficientes para ações simples. O ! prefix
permite alternar facilmente entre a IA e as interfaces de linha de comando tradicionais.
!ls
Verifique a saída. Pressione Escape
para sair do modo shell.
18. Suporte da CLI do Gemini ao MCP
A CLI do Gemini, pelo Protocolo de Contexto de Modelo (MCP), pode se integrar a sistemas de terceiros, como Jira, Confluence ou GitHub. Isso é feito por integrações de ferramentas personalizadas do servidor MCP, permitindo que a CLI do Gemini crie ou atualize tíquetes do JIRA, busque informações em páginas do Confluence, crie solicitações de pull etc.
Execute este comando no terminal para criar o arquivo de configuração ou use o modo shell.
echo '{
"mcpServers": {
"context7": {
"httpUrl": "https://mcp.context7.com/mcp"
}
}
}' > .gemini/settings.json
Inicie a sessão da CLI do Gemini:
gemini
Verifique os servidores MCP configurados:
/mcp
Verificar a saída
Envie o comando para testar o servidor MCP configurado:
use context7 tools to look up how to implement flex grid in react mui library
Aprove as ferramentas e analise a saída.
19. Exemplo de configuração de servidores MCP para seu ambiente local
É possível configurar vários servidores MCP no seu ambiente local usando a seguinte configuração.
{
"mcpServers": {
"Snyk Security Scanner": {
"command": "snyk",
"args": [
"mcp",
"-t",
"stdio",
"--experimental"
],
"env": {}
},
"atlassian": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.atlassian.com/v1/sse"
]
},
"playwright": {
"command": "npx",
"args": [
"@playwright/mcp@latest"
]
},
"github": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-github"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "******"
}
}
}
}
Os servidores MCP nessa configuração transformam seu agente da CLI Gemini em uma ferramenta dinâmica de desenvolvimento e colaboração, oferecendo acesso padronizado a sistemas externos. Especificamente, o servidor do Snyk Security Scanner permite que o agente verifique o código e as dependências em busca de vulnerabilidades sem sair do espaço de trabalho atual. Já o servidor da Atlassian se conecta ao Jira e ao Confluence, permitindo que a CLI do Gemini crie, pesquise e atualize problemas ou documentação usando linguagem natural. Além disso, o servidor Playwright concede ao agente recursos de automação de navegador, permitindo que ele navegue e interaja com a Web para tarefas como testes ou extração de dados. Por fim, o servidor do GitHub dá ao agente acesso direto e contextual aos seus repositórios, permitindo que ele gerencie solicitações de pull, trie problemas e analise a base de código, reduzindo significativamente a troca de contexto e aumentando a produtividade em todo o fluxo de trabalho de desenvolvimento.
20. Conclusão da CLI do Gemini
Em resumo, a CLI do Gemini se destaca como um agente de IA de código aberto poderoso e versátil que se integra perfeitamente aos modelos do Gemini no Google Cloud, aumentando significativamente a produtividade dos desenvolvedores. Ao longo deste laboratório, exploramos os recursos dele para simplificar várias tarefas comuns de desenvolvimento, desde a compreensão de bases de código complexas e a geração de documentação essencial e testes de unidade até a refatoração eficiente de componentes de front-end e back-end de um aplicativo Web Python. Ao usar a CLI do Gemini, os desenvolvedores podem reduzir a troca de contexto, automatizar processos repetitivos e, por fim, entregar um código de maior qualidade com mais eficiência. A capacidade de trazer o poder da IA generativa diretamente para a linha de comando revoluciona o fluxo de trabalho de desenvolvimento.
21. Parabéns!
Parabéns, você concluiu o codelab.
O que aprendemos:
- Usar a CLI do Gemini para tarefas comuns de desenvolvedores
Qual é a próxima etapa?
- Mais sessões práticas estão chegando!
Limpar
Para evitar cobranças na sua conta do Google Cloud pelos recursos usados no tutorial, exclua o projeto ou mantenha o projeto e exclua cada um dos recursos.
Excluir o projeto
O jeito mais fácil de evitar cobranças é excluindo o projeto que você criou para este tutorial.
©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 empresas e produtos podem ser marcas registradas das empresas a que estão associados.