GSP1201

Descripción general
En este lab, se muestra cómo crear e implementar una aplicación de chat potenciada por IA con Cloud Run en Google Cloud. La aplicación de chat está potenciada por las APIs del modelo de lenguaje grande (LLM) de Gemini.
Utilizarás las APIs en una aplicación web que implementarás en Cloud Run, con Cloud Build y Artifact Repository para almacenar la imagen del contenedor de la compilación de la aplicación. La aplicación puede usarse como punto de partida para las interfaces web con las APIs de Gemini.
En este lab, crearás una aplicación web que se ejecuta en Cloud Run y que utiliza las APIs proporcionadas por el modelo de lenguaje grande (LLM) de Gemini y las muestra a través de una interfaz web simple implementada en el lab.
Con los procesos del lab, comprenderás cómo compilar una aplicación web que puede usar modelos de lenguaje grandes, como Gemini, para crear interacciones atractivas basadas en conversaciones con usuarios finales que pueden hacer preguntas y recibir respuestas útiles a través de la aplicación de chat.
Qué aprenderás
En este lab, realizarás las siguientes actividades:
- Compilar una imagen de Docker para ejecutar la aplicación con Cloud Build
- Implementar un servicio de Cloud Run que ejecute la aplicación
- Revisar el código de Python para comprender cómo la aplicación utiliza el modelo
gemini-2.0-flash
a través de una sesión de chat
Configuración y requisitos
Antes de hacer clic en el botón Comenzar lab
Lee estas instrucciones. Los labs cuentan con un temporizador que no se puede pausar. El temporizador, que comienza a funcionar cuando haces clic en Comenzar lab, indica por cuánto tiempo tendrás a tu disposición los recursos de Google Cloud.
Este lab práctico te permitirá realizar las actividades correspondientes en un entorno de nube real, no en uno de simulación o demostración. Para ello, se te proporcionan credenciales temporales nuevas que utilizarás para acceder a Google Cloud durante todo el lab.
Para completar este lab, necesitarás lo siguiente:
- Acceso a un navegador de Internet estándar. Se recomienda el navegador Chrome.
Nota: Usa una ventana del navegador privada o de incógnito (opción recomendada) para ejecutar el lab. Así evitarás conflictos entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.
- Tiempo para completar el lab (recuerda que, una vez que comienzas un lab, no puedes pausarlo).
Nota: Usa solo la cuenta de estudiante para este lab. Si usas otra cuenta de Google Cloud, es posible que se apliquen cargos a esa cuenta.
Cómo iniciar tu lab y acceder a la consola de Google Cloud
-
Haz clic en el botón Comenzar lab. Si debes pagar por el lab, se abrirá un diálogo para que selecciones la forma de pago.
A la izquierda, se encuentra el panel Detalles del lab, que tiene estos elementos:
- El botón para abrir la consola de Google Cloud
- El tiempo restante
- Las credenciales temporales que debes usar para el lab
- Otra información para completar el lab, si es necesaria
-
Haz clic en Abrir la consola de Google Cloud (o haz clic con el botón derecho y selecciona Abrir el vínculo en una ventana de incógnito si ejecutas el navegador Chrome).
El lab inicia recursos y abre otra pestaña en la que se muestra la página de acceso.
Sugerencia: Ordena las pestañas en ventanas separadas, una junto a la otra.
Nota: Si ves el diálogo Elegir una cuenta, haz clic en Usar otra cuenta.
-
De ser necesario, copia el nombre de usuario a continuación y pégalo en el diálogo Acceder.
{{{user_0.username | "Username"}}}
También puedes encontrar el nombre de usuario en el panel Detalles del lab.
-
Haz clic en Siguiente.
-
Copia la contraseña que aparece a continuación y pégala en el diálogo Te damos la bienvenida.
{{{user_0.password | "Password"}}}
También puedes encontrar la contraseña en el panel Detalles del lab.
-
Haz clic en Siguiente.
Importante: Debes usar las credenciales que te proporciona el lab. No uses las credenciales de tu cuenta de Google Cloud.
Nota: Usar tu propia cuenta de Google Cloud para este lab podría generar cargos adicionales.
-
Haz clic para avanzar por las páginas siguientes:
- Acepta los Términos y Condiciones.
- No agregues opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
- No te registres para obtener pruebas gratuitas.
Después de un momento, se abrirá la consola de Google Cloud en esta pestaña.
Nota: Para acceder a los productos y servicios de Google Cloud, haz clic en el menú de navegación o escribe el nombre del servicio o producto en el campo Buscar.
Activa Cloud Shell
Cloud Shell es una máquina virtual que cuenta con herramientas para desarrolladores. Ofrece un directorio principal persistente de 5 GB y se ejecuta en Google Cloud. Cloud Shell proporciona acceso de línea de comandos a tus recursos de Google Cloud.
-
Haz clic en Activar Cloud Shell
en la parte superior de la consola de Google Cloud.
-
Haz clic para avanzar por las siguientes ventanas:
- Continúa en la ventana de información de Cloud Shell.
- Autoriza a Cloud Shell para que use tus credenciales para realizar llamadas a la API de Google Cloud.
Cuando te conectes, habrás completado la autenticación, y el proyecto estará configurado con tu Project_ID, . El resultado contiene una línea que declara el Project_ID para esta sesión:
Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}
gcloud
es la herramienta de línea de comandos de Google Cloud. Viene preinstalada en Cloud Shell y es compatible con la función de autocompletado con tabulador.
- Puedes solicitar el nombre de la cuenta activa con este comando (opcional):
gcloud auth list
- Haz clic en Autorizar.
Resultado:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
To set the active account, run:
$ gcloud config set account `ACCOUNT`
- Puedes solicitar el ID del proyecto con este comando (opcional):
gcloud config list project
Resultado:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Nota: Para obtener toda la documentación de gcloud
, en Google Cloud, consulta la guía con la descripción general de gcloud CLI.
Tarea 1. Configuración del entorno
Para implementar la aplicación de Cloud Run, debes descargar el código fuente de un bucket de Cloud Storage.
- En Cloud Shell, ingresa el siguiente comando.
gsutil cp -R gs://spls/gsp1201/chat-flask-cloudrun .
- Luego, navega a la carpeta del proyecto.
cd chat-flask-cloudrun
- Configura las variables de entorno de la región y el proyecto para usarlas en comandos posteriores.
export PROJECT_ID={{{ project_0.project_id | "Filled in at lab startup." }}}
export REGION={{{ project_0.startup_script.region | "Filled in at lab startup." }}}
Tarea 2. Compila una imagen de Docker
A continuación, compilarás una imagen de Docker para la aplicación y la enviarás a Artifact Registry. Una vez que se haya compilado y almacenado la imagen del contenedor, la usarás para implementar la aplicación en Cloud Run.
- Configura las variables de entorno para usarlas en comandos posteriores:
export AR_REPO='chat-app-repo'
export SERVICE_NAME='chat-flask-app'
- Ejecuta el siguiente comando para crear el repositorio de artefactos:
gcloud artifacts repositories create "$AR_REPO" --location="$REGION" --repository-format=Docker
- Configura la autenticación de Docker y envía el trabajo de compilación de la imagen del contenedor a Cloud Build:
gcloud builds submit --tag "$REGION-docker.pkg.dev/$PROJECT_ID/$AR_REPO/$SERVICE_NAME"
- Para verificar que la imagen se envió a Artifact Registry, ve a la página de Artifact Registry.
- En la barra de título de la consola de Google Cloud, escribe Artifact Registry en el campo Buscar y, luego, haz clic en Artifact Registry en los resultados de la búsqueda.
- Confirma que
chat-app-repo
esté disponible.
Nota: Si ejecutas la verificación que se indica a continuación y ves que necesitas autenticar Docker, intenta ejecutar el siguiente comando en Cloud Shell:
gcloud auth configure-docker us-central1-docker.pkg.dev
Haz clic en Revisar mi progreso para verificar el objetivo.
Compila una imagen de Docker.
Tarea 3. Implementa la aplicación en Cloud Run
La aplicación se descargó y compiló a través de Cloud Build. Ahora, implementa y prueba la app en Cloud Run.
- En Cloud Shell, ejecuta el siguiente comando:
gcloud run deploy "$SERVICE_NAME" --port=8080 --image="$REGION-docker.pkg.dev/$PROJECT_ID/$AR_REPO/$SERVICE_NAME:latest" --allow-unauthenticated --region=$REGION --platform=managed --project=$PROJECT_ID --set-env-vars=GCP_PROJECT=$PROJECT_ID,GCP_REGION=$REGION
Nota: Este paso tarda unos minutos en completarse.
- Para iniciar la aplicación, haz clic en la URL del servicio que se proporciona en el resultado del último comando. El resultado es similar al siguiente:
Deploying container to Cloud Run service [chat-flask-app] in project [qwiklabs-gcp-03-fda25c1691e3] region [us-central1]
OK Deploying new service... Done.
OK Creating Revision...
OK Routing traffic...
OK Setting IAM Policy...
Done.
Service [chat-flask-app] revision [chat-flask-app-00001-x9r] has been deployed and is serving 100 percent of traffic.
Service URL: https://chat-flask-app-308034796843.us-central1.run.app
- Ingresa la siguiente consulta en el cuadro de texto de entrada y haz clic en Enviar:
What is Google Cloud Platform?
Recibirás una respuesta generada por la API de gemini-2.0-flash
en el cuadro de texto de resultado que se encuentra debajo de la entrada de instrucciones.
Haz clic en Revisar mi progreso para verificar el objetivo.
Implementa la aplicación en Cloud Run.
Tarea 4. Explora el código de Python
Para comprender mejor cómo la aplicación utiliza la API de Gemini Chat Bison, explorarás brevemente el código que usa la app.
-
En Cloud Shell, haz clic en Abrir editor para abrir el editor de Cloud Shell y explorar el código.
-
En el panel Explorar, expande la carpeta chat-flask-cloudrun
y selecciona app.py
para comenzar a explorar el código.
-
Observa los siguientes métodos de Python:
-
create_session
: este método crea una nueva sesión con Vertex AI usando el modelo chat_model = GenerativeModel("gemini-2.0-flash")
. Lo utiliza la ruta /gemini
, que observarás más a fondo para establecer una nueva sesión de chat.
def create_session():
chat_model = GenerativeModel("gemini-2.0-flash")
chat = chat_model.start_chat()
return chat
-
response
: este método recupera una respuesta.
def response(chat, message):
result = chat.send_message(message)
return result.text
-
index
y gemini_chat
: los métodos index
y gemini_chat
definen rutas para la API de la aplicación. El método index
carga la página index.html
cuando un usuario carga la aplicación, y el método gemini_chat
envía la instrucción del usuario recopilada de la página index.html
a la API y devuelve los resultados en formato JSON.
@app.route('/')
def index():
###
return render_template('index.html')
@app.route('/gemini', methods=['GET', 'POST'])
def gemini_chat():
user_input = ""
if request.method == 'GET':
user_input = request.args.get('user_input')
else:
user_input = request.form['user_input']
logger.log(f"Starting chat session...")
chat_model = create_session()
logger.log(f"Chat Session created")
content = response(chat_model,user_input)
return jsonify(content=content)
El archivo index.html
incluye JavaScript intercalado para leer los resultados del envío del formulario cuando un usuario hace clic en Enviar y actualiza la IU con la respuesta de la llamada a la API de Gemini.
¡Felicitaciones!
Ya completaste el lab. En él, aprendiste a compilar e implementar una aplicación web sencilla con Cloud Build y Artifact Registry. La aplicación se implementa en Cloud Run y utiliza Gemini para responder a las consultas de los usuarios finales y crear una aplicación basada en chat que les permita hacer preguntas y recibir respuestas en una IU web.
Próximos pasos
Capacitación y certificación de Google Cloud
Recibe la formación que necesitas para aprovechar al máximo las tecnologías de Google Cloud. Nuestras clases incluyen habilidades técnicas y recomendaciones para ayudarte a avanzar rápidamente y a seguir aprendiendo. Para que puedas realizar nuestros cursos cuando más te convenga, ofrecemos distintos tipos de capacitación de nivel básico a avanzado: a pedido, presenciales y virtuales. Las certificaciones te ayudan a validar y demostrar tus habilidades y tu conocimiento técnico respecto a las tecnologías de Google Cloud.
Última actualización del manual: 31 de marzo de 2025
Prueba más reciente del lab: 13 de marzo de 2025
Copyright 2025 Google LLC. All rights reserved. Google y el logotipo de Google son marcas de Google LLC. Los demás nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que estén asociados.