En este instructivo, se muestra cómo usar Gemini para Google Cloud, un servicio potenciado por IA de Google Cloud para explorar, crear, modificar, probar e implementar app de Python de muestra.
En el siguiente ejemplo, considera que eres un desarrollador que forma parte de o un equipo que desarrolla una app de inventario. Estás a cargo del prototipado servicio básico que contiene algunos métodos de API para funcionar como parte del de inventario de Google. Quieres desarrollar la app en tu entorno local de VS Code. y, luego, implementarlo en Google Cloud. Sin embargo, no estás seguro de qué servicio de Google Cloud se adapta mejor a tu caso de uso.
En este instructivo, usarás Gemini para Google Cloud junto con Visual Studio Code como tu IDE para compilar una app de inventario de muestra que tenga dos métodos de API.
Este instructivo está dirigido a desarrolladores de cualquier nivel de experiencia que tengan que contribuyeron a la creación de apps, pero es posible que no conozcas en la nube. Se supone que tienes experiencia en el uso de VS Code como tu IDE y que conozcas Python y el framework de Flask.
Objetivos
Explora diversos servicios de Google que puedes usar para implementar una app haciendo preguntas basadas en el contexto a Gemini.
Pídele a Gemini que te proporcione plantillas que puedas usar para lo siguiente: desarrollar una app básica de Python en Cloud Run.
Crear, explorar y modificar la app con Gemini para explicar y generar el código.
Ejecuta y prueba la app de forma local y, luego, impleméntala en Google Cloud usando Gemini para generar los pasos.
Productos de Google Cloud usados
En este instructivo, se usan los siguientes productos facturables de Google Cloud. Usa la calculadora de precios para estimar los costos según el uso previsto.
- Cloud Run. Cloud Run es una plataforma de procesamiento administrada que te permite ejecutar contenedores directamente sobre el backend de Google Cloud. Puedes implementar código escrito en cualquier lenguaje de programación en Cloud Run si puedes compilar una imagen de contenedor a partir de él. Para obtener información sobre los precios, consulta Cloud Run.
Además del producto mencionado anteriormente, en este instructivo también se usa el los siguientes productos:
Gemini. Gemini es un colaborador siempre activo en Google Cloud que ofrece asistencia potenciada por IA generativa para una amplia gama de usuarios, incluidos desarrolladores y científicos de datos. Para brindar una experiencia de asistencia integrada, Gemini está incorporado en muchos productos de Google Cloud.
Cloud Code para la extensión VS Code. Esta extensión es un IDE que brinda asistencia para el ciclo de desarrollo de Kubernetes y aplicaciones de Cloud Run. Para obtener más información sobre el extensión de Cloud Code, consulta Cloud Code para funciones de VS Code.
Antes de comenzar
Instala una copia local de VS Code. si aún no lo has hecho.
Instala la extensión de Cloud Code para VS Code.
Sigue las instrucciones de la guía de instalación para instalar Python Git, y el cliente Docker. También sigue los pasos para crear un proyecto de Google Cloud.
- Asegúrate de que Gemini esté configurado para tu cuenta de usuario y tu proyecto de Google Cloud.
-
Sigue los pasos para conectarte a Google Cloud en tu IDE y seleccionar un proyecto configurado para Google Cloud.
Explora los servicios de Google Cloud
Si es la primera vez que usas Google Cloud, Gemini puede ayudarte elegir los servicios de Google Cloud que cumplan con los requisitos de tu arquitectura de aplicaciones.
En tu IDE, puedes chatear con Gemini para obtener ayuda. Usando en el panel de Gemini, ingresarás instrucciones (preguntas o afirmaciones) que describen la ayuda que quieres) y Gemini devuelve respuestas. Mensajes pueden incluir contexto a partir del código existente que Google Cloud analiza para proporcionar respuestas más útiles o completas. Para más información sobre cómo escribir instrucciones para generar buenas respuestas, consulta Cómo escribir mejores instrucciones para Gemini.
Para indicarle a Gemini sobre los servicios de Google Cloud, sigue estos pasos:
En la barra de actividades de tu IDE, haz clic en spark de Gemini Code Assist.
Para encontrar la barra de actividades de VS Code, consulta Interfaz de usuario.
En el panel de Gemini Code Assist: Chat, ingresa la siguiente instrucción. Luego, haz clic en Send:
I am new to Google Cloud and I want to use the Cloud Code extension. Give me some examples of Google services that I can use to build and deploy a sample app using containers.
Gemini responde con una lista de los servicios de Google Cloud y descripciones.
En este ejemplo, supongamos que Gemini sugiere ambos Cloud Run y Cloud Run funcionan como dos Google Cloud que pueden ayudarte a compilar e implementar una app de ejemplo, pero necesitas información sobre esos servicios.
Descubre cómo y cuándo Gemini para Google Cloud usa tus datos.
Ingresa una pregunta de seguimiento como la siguiente:
What is the difference between Cloud Run and Cloud Functions? Explain to me in simple terms as I am new to Google Cloud.
Gemini responde con las diferencias detalladas entre ambos servicios de Google Cloud.
Opcional: Para restablecer tu historial de chat, en Gemini Code Assist: Chat haz clic en Borrar Restablecer chat.
Crea una app de Hello World en Python
Supongamos que quieres usar Cloud Run para crear e implementar un app básica de Python. Como eres nuevo en Cloud Run y Cloud Code, necesitas ayuda con los pasos para crear la app. En esta sección, le solicitas a Gemini ayuda para compilar una app Hello World de Python en Cloud Run.
Inicia tu IDE, si aún no lo hiciste.
En la barra de actividades de tu IDE, haz clic en spark de Gemini Code Assist.
En el panel de Gemini Code Assist: Chat, ingresa la siguiente instrucción. Luego, haz clic en Send:
How to create a new Cloud Run app in Cloud Code using the command palette? What languages are supported?
La paleta de comandos de VS Code proporciona una lista de todos los comandos, incluidos los siguientes: los comandos para Cloud Code.
El resultado es similar a este:
To create a new Cloud Run app in Cloud Code using the command palette, follow these steps: 1. Open the command palette (press Ctrl/Cmd+Shift+P or click View > Command Palette). 2. Run the "Cloud Code: New Cloud Run App" command. ...
Gemini también muestra los idiomas compatibles con los App de Cloud Run.
En este ejemplo, eliges usar una instancia de Cloud Run basada en Python plantilla para crear la app de ejemplo.
Para aprender a crear una app de Python a partir de una plantilla de Cloud Run, ingresa el siguiente mensaje:
How do I create a Python app from a Cloud Run template using the command palette? I am using Cloud Code.
El resultado es similar a este:
To create a Python app from a Cloud Run template using the command palette, follow these steps: 1. Open Cloud Code. 2. Click the Command Palette (press Ctrl/Cmd+Shift+P or click View > Command Palette). 3. Run the "Cloud Code: New Application" command. ...
Completa los pasos que Gemini proporciona en su respuesta a Crear una app básica de Hello World de Python en Cloud Run También puedes consultar la siguiente sección para crear la app de Hello World App de Python.
Pasos alternativos para crear una app de Hello World en Python
Inicia tu IDE si aún no lo hiciste.
Abre la paleta de comandos: presiona Command + Mayúsculas + P (en macOS) o Control + Mayúsculas + P (para Windows y Linux)
En el campo de paleta de comandos, ingresa
Cloud Code: New Application
. y, luego, haz clic en el resultado.En la lista de muestras disponibles, selecciona Aplicación de Cloud Run.
En la lista de plantillas disponibles, selecciona Python (Flask): Cloud Run.
Guarda la app nueva en la ubicación que prefieras.
La notificación confirma que se creó la app.
Se abrirá una vista previa del archivo README para el servicio seleccionado en tu IDE. como se muestra en la figura 1:
Explora la app de Hello World en Python
Ahora que creaste tu app de Hello World en Cloud Run, puedes usar Gemini para explicar los archivos y fragmentos de código implementados en tu IDE. Para explorar el código de la app de ejemplo que creaste, sigue estos pasos:
Inicia tu IDE.
Abre Explorer: presiona Command + Mayúsculas + E (en macOS) o Control + Mayúsculas + E (en Windows y Linux)
Puedes ver los archivos relacionados con tu app de ejemplo.
En la lista de archivos, haz clic en
Dockerfile
para mostrar su contenido.Selecciona todo el contenido de
Dockerfile
, haz clic en el ícono de bombilla y, luego, Haz clic en Explain this, como se muestra en la figura 2:Gemini genera una explicación en lenguaje natural sobre los el contenido y la función de
Dockerfile
. Si tienes dudas sobre algunos puntos en la respuesta, puedes hacer preguntas de seguimiento.Para obtener más información sobre el archivo
app.py
que se menciona enDockerfile
, en el panel de Gemini, ingresa la siguiente instrucción:What is the function of the app.py file in Dockerfile?
Gemini genera una respuesta similar a la siguiente:
The app.py file is the entrypoint for the container. It is the file that will be executed when the container is launched. In this case, the app.py file will run the Python code that is contained within it.
Como alternativa, también puedes seleccionar el texto
app.py
enDockerfile
, haz clic el ícono de bombilla y, luego, haz clic en Explain this.Abre Explorer: presiona Command + Mayúsculas + E (en macOS) o Control + Mayúsculas + E (para Windows y Linux)
Abre el archivo
app.py
. Verás dos variables,K_SERVICE
yK_REVISION
.Para obtener más información sobre las variables del archivo
app.py
, en el código de Gemini En el panel Assist: Chat, ingresa el siguiente mensaje:What is the function of `K_SERVICE` and `K_REVISION` in the `app.py` file?
También puedes seleccionar el siguiente texto en Dockerfile: Haz clic en el ícono de la bombilla y, luego, haz clic en Explain this:
service = os.environ.get('K_SERVICE', 'Unknown service') revision = os.environ.get('K_REVISION', 'Unknown revision')
La respuesta es similar al ejemplo a continuación:
The code above is using the os.environ module to get the values of the K_SERVICE and K_REVISION environment variables. These variables are set by Cloud Run when it deploys the service, and they contain the name of the service and the revision number, respectively. ...
Genera datos de muestra para la app
Tienes una app de Flask básica creada en Cloud Run. Antes de ti puedes agregar funcionalidad para compilar la app de inventario, necesitas un archivo contiene una lista de elementos de inventario de muestra. Para usar Gemini para lo siguiente: generar las muestras de datos relevantes, sigue estos pasos:
Para mostrar los archivos relacionados con la app de ejemplo, en tu IDE, haz clic en Explorer.
Haz clic en el ícono de New file y crea un archivo llamado
inventory.py
.Para permitir que Gemini genere los datos de muestra, en el código de Gemini En el panel Assist: Chat, ingresa el siguiente mensaje:
Create a variable called inventory which is a list of 3 JSON objects. Each JSON object has 2 attributes: productid and onhandqty. Both attributes are strings.
Gemini genera código de muestra para tres objetos JSON.
En la respuesta, haz clic en . AgregaInsertar en el archivo actual para insertar la muestra de código. el archivo
inventory.py
, como se muestra en la figura 3:El archivo
inventory.py
es similar al siguiente:inventory = [ {"productid": "milk", "onhandqty": "10"}, {"productid": "bread", "onhandqty": "5"}, {"productid": "eggs", "onhandqty": "12"} ]
Creaste correctamente el archivo
inventory.py
, que incluye un lista de elementos del inventario.
Modifica la app de Hello World en Python
Después de crear el archivo inventory.py
, debes ingresar algunos métodos de API en
el archivo app.py
que puede operar en los datos de inventario. Para completar
objetivo, puedes usar la función de generación de código en Gemini.
Para mostrar los archivos relacionados con la app de ejemplo, en tu IDE, Haz clic en Explorer.
Para mostrar el contenido, haz clic en el archivo
app.py
.Edita las sentencias de importación para que el archivo
app.py
incluya el elemento Archivoinventory.py
:import os from flask import Flask, render_template from inventory import inventory
Para permitir que Gemini genere el código para el primer método de la API, sigue estos pasos: En el archivo
app.py
, ingresa el siguiente comentario. presiona Control + Intro:# Generate an app route to display a list of inventory # items in the JSON format from the # inventory.py file. Use the GET method.
Gemini genera una respuesta en el archivo
app.py
.Según la configuración del sistema, la combinación de teclas para generar código con Gemini podría ser diferente del Control + Intro que se usa en este instructivo.
Mantén el puntero sobre cualquier parte de la respuesta.
Se mostrará una barra de herramientas de Gemini.
Gemini podría generar más de una respuesta. En la barra de herramientas, puedes desplazarte por cada respuesta usando las teclas < y <. En el siguiente ejemplo, Gemini genera solo una respuesta, como se muestra en la figura 4:
Para aceptar la muestra de código sugerida, haz clic en Accept en la barra de herramientas.
El resultado es similar al siguiente:
# Generate an App route to display a list of inventory # items in the JSON format from the # inventory.py file. Use the GET method. @app.route('/inventory', methods=['GET']) def get_inventory(): """Return a list of inventory items.""" return jsonify(inventory)
Opcional: Para obtener más información sobre la función
jsonify(inventory)
, destaca término y pedirle a Gemini que te explique el código.Edita las sentencias de importación para que el archivo
app.py
incluya el elemento Funciónjsonify
:import os from flask import Flask, render_template, jsonify from inventory import inventory
Para agregar otro método de API, en el archivo
app.py
, ingresa el y, luego, presiona Control + Intro:# Generate an App route to get an inventory item # given the productid. Use the GET method. # If there is an invalid productid, # display a 404 error.
Gemini genera una respuesta en el archivo
app.py
.Mantén el puntero sobre cualquier parte de la respuesta.
Se mostrará una barra de herramientas de Gemini.
Para aceptar una de las muestras de código sugeridas, haz clic en Accept en la barra de herramientas.
El resultado es similar al siguiente:
# Generate an App route to get an inventory item # given the productid. Use the GET method. # If there is an invalid productid, # display a 404 error. @app.route('/inventory/<productid>', methods=['GET']) def get_inventory_item(productid): """Return an inventory item given the productid.""" for item in inventory: if item["productid"] == productid: return jsonify(item) return jsonify({"error": "Item not found"}), 404
Agregaste correctamente dos métodos de API para crear tu app de inventario.
Ejecuta la app de manera local desde tu IDE
Ya está todo listo para implementar la app de manera local desde VS Code. Para implementar la app, sigue estos pasos:
Inicia tu IDE, si aún no lo hiciste.
En la barra de actividades de tu IDE, haz clic en spark de Gemini Code Assist.
En el panel de Gemini Code Assist, ingresa la siguiente instrucción y, luego, Haz clic en Send:
How do I run a Cloud Run app locally within Cloud Code? Is there an emulator?
Sigue los pasos indicados en la respuesta de Gemini para ejecutar la app. de forma local desde VS Code. También puedes consultar la siguiente sección para implementar un la app de ejemplo de Cloud Run de forma local en VS Code.
Pasos alternativos para ejecutar la app de manera local desde tu IDE
Si no seguiste los pasos de la respuesta de Gemini En la sección anterior, puedes seguir estos pasos para implementar tu app de ejemplo:
Inicia tu IDE.
Abre la paleta de comandos: Presiona Command + Mayúsculas + P (en macOS). o Control + Mayús + P (para Windows y Linux).
En el campo de paleta de comandos, ingresa
Run on Cloud Run Emulator
. y, luego, haz clic en el resultado.En el archivo de entorno
Build
, conserva los valores predeterminados y haz clic en Ejecutar.En este instructivo, se usa Docker como la opción de compilador.
En el panel Output de tu IDE, puedes ver el progreso de la compilación. El proceso de implementación real puede tardar un tiempo en completarse.
Starting to run the app using configuration 'Cloud Run: Run/Debug Locally' from .vscode/launch.json... To view more detailed logs, go to Output channel : "Cloud Run: Run/Debug Locally - Detailed" Dependency check started Dependency check succeeded Starting minikube, this may take a while...... ...
Para ver tu app activa, cuando termine la implementación, haz clic en la URL de la
Panel Output. Para una copia local de VS Code, si especificaste localhost 8080
,
Tu app de ejemplo está publicada en la URL http://localhost:8080
.
Prueba los dos métodos de la API
Si tu app de ejemplo está activa, también puedes verificar si las dos rutas de apps funcionan.
En este ejemplo, supongamos que la URL de la app es http://localhost:8080
.
Para ver la página de destino de muestra de tu app, ve a http://localhost:8080.
Para obtener una lista de todos los elementos del inventario, ve a http://localhost:8080/inventory.
En el archivo
app.py
, para enumerar todos los elementos del inventario, usa la función@app.route('/inventory', methods=['GET'])
está en uso.Para mostrar un elemento de inventario específico filtrado por el atributo
productid
, haz lo siguiente: haz clic enhttp://localhost:8080/inventory/productid
.Por ejemplo, http://localhost:8080/inventory/1, donde productid es igual a 1.
En el archivo
app.py
, para mostrar un elemento de inventario específico según el elemento atributoproductid
, la función@app.route('/inventory/<productid>', methods=['GET'])
está en uso.
Implementa una app de Cloud Run en Google Cloud
Ahora puedes implementar la app de Cloud Run en Google Cloud. Puedes indicarle a Gemini que te dé los pasos o puedes sigue estos pasos:
Abre la paleta de comandos: Presiona Command + Mayúsculas + P (en macOS). o Control + Mayús + P (para Windows y Linux).
En el campo de paleta de comandos, ingresa
Cloud Code: Deploy to Cloud Run
. y, luego, haz clic en el resultado.En el panel de configuración Servicio, establece tu proyecto de Google Cloud.
Acepta la configuración predeterminada restante y, luego, haz clic en Implementar.
Cloud Code compila tu imagen, la envía al registro y, luego, implementa tu a Cloud Run.
Para ver tu servicio en ejecución, abre la URL que se muestra en en el diálogo Deploy to Cloud Run.
También puedes seguir los mismos pasos que se encuentran en Prueba los dos métodos de la API para ver la app de ejemplo en en Google Cloud. Ajuste sus URL según corresponda.
Limpia
Para evitar que se apliquen cargos a la cuenta de Google Cloud por los recursos que se usaron en este instructivo, puedes borrar el proyecto de Google Cloud que creaste para este instructivo. Como alternativa, puedes borrar recursos individuales.
- En la consola de Google Cloud, ve a la página Administrar recursos.
- En la lista de proyectos, elige el proyecto que quieres borrar y haz clic en Borrar.
- En el diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrar el proyecto.
¿Qué sigue?
Más información sobre Cuotas y límites de Gemini
Más información sobre ubicaciones para Gemini.