1. Descripción general
Este lab se enfoca en el uso de la CLI de Gemini, un agente de código abierto potenciado por IA en Google Cloud. Aprenderás a usar la CLI de Gemini para diversas tareas, como comprender bases de código existentes, generar documentación y pruebas de unidades, y refactorizar los componentes de IU y de backend de una aplicación web de Python.
Qué aprenderás
En este lab, aprenderás a realizar las siguientes tareas:
- Cómo usar la CLI de Gemini para tareas comunes de desarrollo
Requisitos previos
- Para este lab, se da por sentado que el usuario tiene conocimientos previos sobre los entornos de shell y la consola de Cloud.
2. Configuración y requisitos
Configuración del proyecto de Cloud
- Accede a Google Cloud Console y crea un proyecto nuevo o reutiliza uno existente. Si aún no tienes una cuenta de Gmail o de Google Workspace, debes crear una.
- El Nombre del proyecto es el nombre visible de los participantes de este proyecto. Es una cadena de caracteres que no se utiliza en las APIs de Google. Puedes actualizarla cuando quieras.
- El ID del proyecto es único en todos los proyectos de Google Cloud y es inmutable (no se puede cambiar después de configurarlo). La consola de Cloud genera automáticamente una cadena única. Por lo general, no importa cuál sea. En la mayoría de los codelabs, deberás hacer referencia al ID de tu proyecto (suele identificarse como
PROJECT_ID
). Si no te gusta el ID que se generó, podrías generar otro aleatorio. También puedes probar uno propio y ver si está disponible. No se puede cambiar después de este paso y se usa el mismo durante todo el proyecto. - Recuerda que hay un tercer valor, un número de proyecto, que usan algunas APIs. Obtén más información sobre estos tres valores en la documentación.
- A continuación, deberás habilitar la facturación en la consola de Cloud para usar las APIs o los recursos de Cloud. Ejecutar este codelab no costará mucho, tal vez nada. Para cerrar recursos y evitar que se generen cobros más allá de este instructivo, puedes borrar los recursos que creaste o borrar el proyecto. Los usuarios nuevos de Google Cloud son aptos para participar en el programa Prueba gratuita de $300.
Configuración del entorno
Abre el chat de Gemini.
También puedes escribir "Pregúntale a Gemini" en la barra de búsqueda.
Habilita la API de Gemini para Google Cloud:
Habilita la GCA en la siguiente pantalla.
Haz clic en "Start chatting
" y sigue una de las preguntas de ejemplo o escribe tu propia instrucción para probarlo.
Instrucciones que puedes probar:
- Explica Cloud Run en 5 puntos clave.
- Eres el administrador de productos de Google Cloud Run y debes explicarle Cloud Run a un estudiante en 5 puntos clave breves.
- Eres el administrador de productos de Google Cloud Run. Explícale Cloud Run a un desarrollador certificado de Kubernetes en 5 puntos clave breves.
- Eres el gerente de productos de Google Cloud Run. Explícale a un desarrollador sénior en 5 puntos clave breves cuándo usarías Cloud Run en lugar de GKE.
Cuando termines, cierra la ventana de chat de Gemini Cloud Assist.
Consulta la Guía de instrucciones para obtener más información sobre cómo escribir mejores instrucciones.
Cómo Gemini for Google Cloud usa tus datos
Compromiso de Google con la privacidad
Google fue uno de los primeros en el sector en publicar un compromiso de privacidad con la IA y el AA, que describe nuestra creencia de que los clientes deben tener el nivel más alto de seguridad y control sobre sus datos que se almacenan en la nube.
Datos que envías y recibes
Las preguntas que le haces a Gemini, incluida cualquier información de entrada o código que envíes a Gemini para que analice o complete, se denominan instrucciones. Las respuestas o las sugerencias de código que recibes de Gemini se denominan respuestas. Gemini no usa tus instrucciones ni sus respuestas como datos para entrenar sus modelos.
Encriptación de instrucciones
Cuando envías instrucciones a Gemini, tus datos se encriptan en tránsito como entrada al modelo subyacente en Gemini.
Datos del programa generados por Gemini
Gemini se entrena con código propio de Google Cloud y con código de terceros seleccionado. Eres responsable de la seguridad, las pruebas y la eficacia de tu código, incluida cualquier finalización, generación o análisis de código que te ofrezca Gemini.
Obtén más información sobre cómo Google maneja tus instrucciones.
3. Opciones para probar mensajes
Si quieres cambiar las instrucciones existentes, tienes varias opciones para hacerlo.
Vertex AI Studio forma parte de la plataforma Vertex AI de Google Cloud y está diseñado específicamente para simplificar y acelerar el desarrollo y el uso de modelos de IA generativa.
Google AI Studio es una herramienta basada en la Web para crear prototipos y experimentar con la ingeniería de instrucciones y la API de Gemini.
- App web de Gemini (gemini.google.com)
La app web de Google Gemini (gemini.google.com) es una herramienta basada en la Web diseñada para ayudarte a explorar y utilizar el poder de los modelos de IA de Gemini de Google.
- App de Google Gemini para dispositivos móviles en Android y app de Google en iOS
4. Descarga y examina la aplicación
Para activar Cloud Shell, haz clic en el ícono que se encuentra a la derecha de la barra de búsqueda.
Si se te solicita autorización, haz clic en "Autorizar" para continuar.
En la terminal, ejecuta los siguientes comandos para clonar el repositorio de Git de forma local.
git clone https://github.com/gitrey/calendar-app-lab
cd calendar-app-lab
Inicia el "Editor de Cloud Shell".
Abre la carpeta "calendar-app-lab
".
Inicia una terminal nueva en el Editor de Cloud Shell.
Tu entorno debería verse similar a la siguiente captura de pantalla.
5. Introducción a Gemini CLI
La CLI de Gemini es un agente de IA de código abierto que se integra con los modelos de Gemini de Google Cloud. Permite que los desarrolladores realicen varias tareas directamente desde su terminal, como comprender bases de código, generar documentación y pruebas de unidades, y refactorizar código. El beneficio clave de Gemini CLI es su capacidad para optimizar los flujos de trabajo de desarrollo, ya que lleva el poder de la IA generativa directamente al entorno de línea de comandos del desarrollador, lo que reduce el cambio de contexto y mejora la productividad.
Este paso, que consiste en establecer la variable de entorno, no es necesario para el entorno de Qwiklabs. Continúa con el siguiente paso.
En tu entorno local, si usas una licencia pagada de Code Assist de tu organización, recuerda configurar el proyecto de Google Cloud en tu terminal. Más detalles.
export GOOGLE_CLOUD_PROJECT="YOUR_PROJECT_NAME"
Comprueba que estás en la raíz de la carpeta del proyecto:
cd ~/calendar-app-lab
Inicia Gemini CLI en la ventana de la terminal:
gemini
Tu entorno debería verse similar a la siguiente captura de pantalla.
Si sigues los pasos en tu entorno local, puedes habilitar la integración con tu IDE.
Puedes cambiar esta opción en cualquier momento con el comando /ide disable | enable
.
Si ejecutas el lab en el entorno de Qwiklabs, selecciona "Use Cloud Shell user credentials
".
De lo contrario, ejecuta el siguiente comando para autenticar Gemini CLI y selecciona "Login with Google
":
/auth
Después de reiniciar la CLI, se te pedirá que autorices la aplicación siguiendo un vínculo proporcionado.
Abre el vínculo y sigue los pasos para acceder con las credenciales de estudiante de Qwiklabs.
Copia el código de verificación y vuelve a la terminal para completar el proceso pegando el código.
Para verificar tu método de autenticación, ejecuta el siguiente comando:
/about
6. Comprensión de la base de código
Puedes usar la CLI de Gemini para comprender rápidamente la base de código. Para ello, pídele que resuma el propósito de los archivos o directorios y que explique funciones o secciones de código complejas. Esto permite que los desarrolladores se incorporen rápidamente a proyectos nuevos o comprendan partes desconocidas del código existente sin necesidad de realizar una exploración manual profunda.
Para obtener más información sobre la base de código, envía la siguiente instrucción en la CLI de Gemini:
Don't suggest any changes. Explain this codebase to me.
Revisa el resultado:
7. Inicia la aplicación de forma local
La CLI de Gemini puede simplificar significativamente la ejecución local de tu aplicación de Python, ya que te ayuda a generar automáticamente archivos de configuración esenciales, como requirements.txt o un Dockerfile básico. Además, es excelente para administrar dependencias de Python y solucionar problemas, ya que puede explicar rápidamente los errores de seguimiento resultantes de la falta de paquetes o conflictos de versiones, y, a menudo, sugiere el comando pip install preciso para solucionar el problema.
Para iniciar la aplicación de forma local, ingresa la siguiente instrucción en la terminal de la CLI de Gemini:
Run this app locally
Sigue las indicaciones para comenzar la solicitud:
Haz clic en el vínculo para obtener una vista previa de la aplicación:
Resultado de muestra:
8. Agrega documentación
La CLI de Gemini es eficaz para la documentación y los comentarios, ya que te permite generar docstrings para funciones o clases de forma instantánea. También puedes aprovecharlo para agregar rápidamente comentarios intercalados explicativos a bloques de código complejos o desconocidos, lo que mejora significativamente la claridad y el mantenimiento de la base de código.
Para agregar comentarios a cada archivo de Python en la aplicación, usa la terminal de la CLI de Gemini y, luego, ingresa la siguiente instrucción:
Add docstrings to all files
Aprobar los cambios que se sugirieron Si la integración del IDE está habilitada, puedes aceptar y continuar con los controles de la IU o presionando Intro en la terminal. También puedes habilitar el modo de aprobación automática(YOLO) con "ctrl+y
".
Actualiza el archivo .gitignore
con la siguiente instrucción:
update .gitignore and add __pycache__ folder
Cambia a la vista Control de código fuente y revisa los cambios que hiciste hasta el momento:
9. Cómo agregar pruebas de unidades
La CLI de Gemini es excelente para escribir pruebas de unidades, ya que permite a los desarrolladores generar funciones de prueba basadas en la firma y la lógica de una función existente, con aserciones iniciales y configuración de simulaciones. Sin embargo, los desarrolladores deben revisar y validar las pruebas generadas para asegurarse de que cubran de manera significativa todos los casos extremos requeridos y no solo la ejecución de rutas simplistas.
Usa la siguiente instrucción para generar pruebas de unidades:
Generate unit tests for @calendar.py
Acepta los cambios después de revisarlos.
Instala dependencias nuevas y ejecuta las pruebas. La CLI de Gemini observará, corregirá y volverá a ejecutar el código generado en un bucle hasta que se aprueben las pruebas y se valide el código.
10. Verifica si hay errores
La CLI de Gemini puede ayudarte a detectar errores en la lógica, ya que te permite pedirle que revise y analice fragmentos de código, y que identifique posibles fallas lógicas, errores de "por uno" o un control condicional incorrecto. Si explicas el comportamiento previsto del código y le pides a la CLI que detecte discrepancias, puedes detectar rápidamente defectos sutiles antes de ejecutar el código.
Para verificar si hay errores en la lógica de conversión, envía la siguiente instrucción en la CLI de Gemini:
Are there any bugs in the conversion logic? Check if negative numbers are handled properly.
Revisa los cambios sugeridos y acéptalos en el chat:
11. Refactorización de la IU
La CLI de Gemini puede ayudar significativamente en la refactorización de la IU, ya que te permite traducir patrones de IU más antiguos (como los componentes de clase) en paradigmas funcionales más nuevos y modernos (como los hooks en React) o sugerir mejoras estructurales para un mejor mantenimiento. Puedes usarlo para analizar y refactorizar el código de la IU existente en componentes más modulares y reutilizables, lo que garantiza un diseño de interfaz más limpio y estandarizado.
Para refactorizar la IU con la biblioteca de Bootstrap, envía la siguiente instrucción a la CLI de Gemini:
Refactor UI to use Bootstrap library
Revisa y acepta los cambios:
Para comenzar, inicia la aplicación. Si ya se está ejecutando, simplemente vuelve a cargar la página.
python3 main.py
Vuelve a cargar la página y verifica los cambios.
Implementa el control de errores para garantizar que se muestre una página de error cuando surjan problemas.
Implement error handling to display an error page when issues occur.
Actualiza la página para ver las actualizaciones.
Envía un número negativo para confirmar la página de error.
12. Refactorización del backend
La CLI de Gemini es eficaz para la refactorización del backend, ya que ayuda a migrar el código del framework heredado a alternativas modernas o a reestructurar los servicios monolíticos en componentes de microservicios más fáciles de administrar. Puede analizar la lógica del servidor para sugerir patrones de consultas de bases de datos mejorados o diseños de extremos de API más eficientes, lo que garantiza que se mantenga o mejore el rendimiento y la escalabilidad.
Modifica el backend para guardar las solicitudes de conversión en la memoria.
Store requests in memory and create a page to display conversion history. Add links on all pages to view the history.
Revisa y acepta los cambios en el chat:
Envía varias solicitudes a la aplicación y, luego, revisa la página del historial.
Revisa el historial de solicitudes de conversión.
Para actualizar el archivo README.md con el estado actual de la base de código, envía esta instrucción a través de la CLI de Gemini:
analyze README.md file and update it with latest codebase state
Revise el resultado. Si habilitaste la integración de Cloud Shell, puedes usar el control de la IU para acceder a los cambios o hacerlo desde la terminal.
13. Herramientas integradas en la CLI de Gemini
La CLI de Gemini incluye herramientas integradas que el modelo de Gemini usa para interactuar con tu entorno local, acceder a información y realizar acciones. Estas herramientas mejoran las capacidades de la CLI, lo que le permite ir más allá de la generación de texto y ayudar con una amplia variedad de tareas.
Envía esta instrucción en la CLI de Gemini para ver las herramientas disponibles:
/tools
Revise el resultado.
Gemini CLI selecciona de forma inteligente las herramientas integradas más adecuadas según la tarea que proporciones, lo que le permite ejecutar operaciones complejas aprovechando su comprensión de tu solicitud y las funcionalidades disponibles. Obtén más información sobre las herramientas integradas.
14. Comando repo init de Gemini CLI
La CLI de Gemini incluye un comando para analizar el proyecto y crear un archivo GEMINI.md personalizado.
Para generar el archivo GEMINI.md, envía la siguiente instrucción con la CLI de Gemini:
/init
Revise el resultado. Este comando creará un archivo GEMINI.md, que resume el propósito, las tecnologías, las instrucciones de compilación y ejecución, y las convenciones de desarrollo del proyecto para el contexto futuro.
Para comprender qué instrucciones o contexto incluir en el archivo GEMINI.md
de tu proyecto, un buen punto de partida es revisar el archivo GEMINI.md que se encuentra en el gemini-cli
repositorio.
15. Comandos personalizados de Gemini CLI
Puedes optimizar tu flujo de trabajo de desarrollo y mantener la coherencia usando comandos personalizados en Gemini CLI. Estos comandos actúan como atajos personales para las instrucciones que más usas. Tienes la flexibilidad de crear comandos específicos para un solo proyecto o hacer que estén disponibles de forma global en todos tus proyectos.
El repositorio incluye varios comandos personalizados ubicados en la carpeta .gemini/commands
.
Comando personalizado para crear un diagrama
Envía esta instrucción en Gemini CLI para generar un diagrama de flujo de solicitudes en formato Mermaid.
Aceptar llamadas a herramientas, como crear una carpeta y guardar un archivo
/diagram:new request flow for this app
Revise el resultado.
Si quieres obtener una vista previa del diagrama, instala la extensión Mermaid Chart
desde Marketplace.
Abre el archivo y selecciona la vista previa en el menú contextual.
Comando personalizado para crear una baraja
Envía esta instrucción en la CLI de Gemini para generar una presentación con los puntos clave en formato Marp.
Aceptar llamadas a herramientas, como crear una carpeta y guardar un archivo
/deck:new key points and details for this app
Revise el resultado.
Este paso no es compatible con Cloud Shell, ya que la extensión de Marp requiere la instalación de un navegador web.
Instala la extensión Marp para VS Code desde Marketplace para guardar la presentación.
De lo contrario, abrirías el archivo generado en el editor y, desde la paleta de comandos, seleccionarías "Marp: Export Slide Deck
".
Comando personalizado para planificar la implementación de una función nueva
Envía esta instrucción en Gemini CLI para refactorizar la IU.
Aceptar llamadas a herramientas, como crear una carpeta y guardar un archivo
/plan:new refactor UI to use Materialize CSS
Revise el resultado.
Inicia el proceso de refactorización de la IU enviando esta instrucción a través de la CLI de Gemini, según el plan generado anteriormente.
Aceptar llamadas a herramientas, como crear una carpeta y guardar un archivo Puedes habilitar el modo de aprobación automática de herramientas(YOLO mode
) con "ctrl+y
".
/plan:impl implement the plan to refactor the app
Inicia o vuelve a cargar la aplicación y revisa el resultado:
16. Modo no interactivo de la CLI de Gemini
Cuando ejecutas la CLI de Gemini en un modo no interactivo dentro de una canalización de CI/CD, puedes automatizar varias tareas pasando instrucciones y comandos directamente a la CLI sin necesidad de intervención manual. Esto permite una integración perfecta en flujos de trabajo automatizados para el análisis de código, la generación de documentación y otras tareas de desarrollo.
Abre una terminal nueva o cierra la sesión existente de la CLI de Gemini y ejecuta este comando.
gemini -p "Explain the architecture of this codebase"
Revise el resultado.
Si tu tarea requerirá la aprobación de herramientas, puedes habilitar el modo YOLO con la marca -y
.
gemini -p "Explain the architecture of this codebase and save the file in the markdown format in the docs folder" -y
Revise el resultado.
Si aprovechas la CLI de Gemini en modo no interactivo, puedes mejorar significativamente las capacidades de automatización de tus canalizaciones de CI/CD, lo que genera ciclos de desarrollo más eficientes y una mejor calidad del código.
17. Modo Shell de Gemini CLI
Si bien los LLM manejan tareas complejas, los comandos directos son más eficientes para acciones sencillas. El ! prefix
permite cambiar sin problemas entre la IA y las interfaces de línea de comandos tradicionales.
!ls
Revise el resultado. Presiona Escape
para salir del modo de shell.
18. Compatibilidad con MCP de la CLI de Gemini
La CLI de Gemini, a través del Protocolo de contexto del modelo (MCP), se puede integrar con sistemas de terceros, como Jira, Confluence o GitHub. Esto se logra a través de integraciones de herramientas personalizadas del servidor de MCP, lo que permite que la CLI de Gemini cree o actualice tickets de JIRA, recupere información de páginas de Confluence, cree solicitudes de extracción, etcétera.
Ejecuta este comando en la terminal para crear el archivo de configuración o usar el modo de shell.
echo '{
"mcpServers": {
"context7": {
"httpUrl": "https://mcp.context7.com/mcp"
}
}
}' > .gemini/settings.json
Inicia la sesión de Gemini CLI:
gemini
Verifica los servidores de MCP configurados:
/mcp
Revisa el resultado
Envía la instrucción para probar el servidor de MCP configurado:
use context7 tools to look up how to implement flex grid in react mui library
Aprueba las herramientas y revisa el resultado.
19. Ejemplo de configuración de servidores de MCP para tu entorno local
Puedes configurar varios servidores de MCP en tu entorno local con la siguiente configuración.
{
"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": "******"
}
}
}
}
Los servidores de MCP en esta configuración transforman tu agente de la CLI de Gemini en una herramienta dinámica de desarrollo y colaboración, ya que proporcionan acceso estandarizado a sistemas externos. Específicamente, el servidor de Snyk Security Scanner permite que el agente verifique el código y las dependencias en busca de vulnerabilidades sin salir de tu espacio de trabajo actual, mientras que el servidor de Atlassian se conecta a Jira y Confluence, lo que permite que la CLI de Gemini cree, busque y actualice problemas o documentación con lenguaje natural. Además, el servidor de Playwright otorga al agente capacidades de automatización del navegador, lo que le permite navegar e interactuar con la Web para tareas como pruebas o extracción de datos. Por último, el servidor de GitHub le brinda al agente acceso contextual y directo a tus repositorios, lo que le permite administrar solicitudes de extracción, priorizar problemas y analizar la base de código, lo que reduce significativamente los cambios de contexto y aumenta la productividad en todo tu flujo de trabajo de desarrollo.
20. Conclusión de la CLI de Gemini
En conclusión, Gemini CLI se destaca como un agente de IA de código abierto potente y versátil que se integra a la perfección con los modelos de Gemini de Google Cloud, lo que mejora significativamente la productividad de los desarrolladores. A lo largo de este lab, exploramos sus capacidades para optimizar varias tareas de desarrollo comunes, desde comprender bases de código complejas y generar documentación esencial y pruebas de unidades hasta refactorizar de manera eficiente los componentes de frontend y backend de una aplicación web de Python. Con la CLI de Gemini, los desarrolladores pueden reducir el cambio de contexto, automatizar procesos repetitivos y, en última instancia, entregar código de mayor calidad con mayor eficiencia. Su capacidad para llevar el poder de la IA generativa directamente a la línea de comandos revoluciona el flujo de trabajo de desarrollo.
21. ¡Felicitaciones!
¡Felicitaciones! Completaste el codelab.
Temas abordados:
- Usa la CLI de Gemini para tareas comunes de desarrollo
Pasos siguientes:
- ¡Pronto habrá más sesiones prácticas!
Limpia
Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos usados en este instructivo, borra el proyecto que contiene los recursos o conserva el proyecto y borra los recursos individuales.
Borra el proyecto
La manera más fácil de eliminar la facturación es borrar el proyecto que creaste para el instructivo.
©2024 Google LLC Todos los derechos reservados. Google y el logotipo de Google son marcas de Google LLC. El resto de los nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que están asociados.