arrow_back

Develop GenAI Apps with Gemini and Streamlit: Lab de desafío

Acceder Unirse
Pon a prueba tus conocimientos y compártelos con nuestra comunidad
done
Obtén acceso a más de 700 labs prácticos, insignias de habilidad y cursos

Develop GenAI Apps with Gemini and Streamlit: Lab de desafío

Lab 1 hora 30 minutos universal_currency_alt 5 créditos show_chart Intermedio
info Es posible que este lab incorpore herramientas de IA para facilitar tu aprendizaje.
Pon a prueba tus conocimientos y compártelos con nuestra comunidad
done
Obtén acceso a más de 700 labs prácticos, insignias de habilidad y cursos

GSP517

Labs de autoaprendizaje de Google Cloud

Descripción general

En un lab de desafío, se le proporcionarán una situación y un conjunto de tareas. En lugar de seguir instrucciones paso a paso, deberás utilizar las habilidades aprendidas en los labs del curso para decidir cómo completar las tareas por tu cuenta. Un sistema automatizado de puntuación (en esta página) mostrará comentarios y determinará si completaste tus tareas correctamente.

En un lab de desafío, no se explican conceptos nuevos de Google Cloud, sino que se espera que amplíes las habilidades que adquiriste, como cambiar los valores predeterminados y leer o investigar los mensajes de error para corregir sus propios errores.

Debe completar correctamente todas las tareas dentro del período establecido para obtener una puntuación del 100%.

Se recomienda este lab a los estudiantes inscritos en el curso Develop GenAI Apps with Gemini and Streamlit. ¿Aceptas el desafío?

Configuración y requisitos

Antes de hacer clic en el botón Comenzar lab

Lee estas instrucciones. Los labs son cronometrados y no se pueden pausar. El cronómetro, 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 de navegador privada o de Incógnito para ejecutar este lab. Así evitarás cualquier conflicto 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: Si ya tienes un proyecto o una cuenta personal de Google Cloud, no los uses en este lab para evitar cargos adicionales en tu cuenta.

Situación del desafío

Te integraste a Cymbal Health hace apenas unos meses. Cymbal Health es una red de salud establecida en el sector centro este de Minnesota que se dedica a reinventar y transformar la forma en que se puede brindar la atención médica. Cymbal Health conecta la atención y la cobertura en un plan de salud para que los pacientes puedan recibir atención de alta calidad con mayor facilidad a un costo asequible.

Como servicio de valor agregado, Cymbal Health está interesado en mejorar el bienestar y la vida saludable de los clientes, con sugerencias y consejos en sus apps. Un área en particular en la que quieren enfocarse es mejorar la nutrición de los clientes.

Logotipo de Cymbal Labs

Aprovechando el poder de Gemini Pro, un modelo multimodal para generar texto, audio, imágenes y videos, Cymbal Health puede compilar aplicaciones que generen recomendaciones de comidas para sus clientes.

Por ejemplo, tu equipo ha estado trabajando para crear una app de chef basada en IA que genera recetas según las preferencias culinarias de los clientes, las restricciones y alergias alimentarias, y lo que suelen tener en sus casas o pueden comprar en un supermercado. Tu trabajo consiste en compilar, probar y, luego, implementar una prueba de concepto (PoC) para esta app de chef compilada con el modelo de Gemini Pro, el framework de Streamlit y Cloud Run. Como parte de esta PoC, tienen una lista de tareas que les gustaría que realizaras durante un período determinado en un entorno de zona de pruebas.

Tu desafío

Tus tareas incluyen lo siguiente:

  • Usar cURL para probar una instrucción con la API
  • Escribir el framework de Streamlit y solicitar el código de Python para completar chef.py
  • Probar la aplicación
  • Modificar el Dockerfile y enviar la imagen de Docker a Artifact Registry
  • Implementar la aplicación en Cloud Run y probarla

Tarea 1. Usa cURL para probar una instrucción con la API

Antes de comenzar a compilar la app de chef en Vertex AI, debes probar la conectividad con la API de Gemini.

  1. Accede al notebook administrado por el usuario de Vertex AI Workbench que se te proporciona a través de la consola de Cloud en el entorno del lab.

  2. Abre una terminal y descarga el archivo prompt.ipynb de Cloud Storage con el siguiente comando:

    gsutil cp gs://spls/gsp517/prompt.ipynb .
  3. Modifica prompt.ipynb para incluir tu project_ID y la región en la celda 3. Puedes encontrar estos datos en el panel izquierdo de las instrucciones del lab.

  4. Modifica prompt.ipynb para usar la siguiente instrucción con cURL dentro de la celda 5, reemplazando la instrucción existente.

    I am a Chef. I need to create Japanese recipes for customers who want low sodium meals. However, I do not want to include recipes that use ingredients associated with a peanuts food allergy. I have ahi tuna, fresh ginger, and edamame in my kitchen and other ingredients. The customer wine preference is red. Please provide some for meal recommendations. For each recommendation include preparation instructions, time to prepare and the recipe title at the begining of the response. Then include the wine paring for each recommendation. At the end of the recommendation provide the calories associated with the meal and the nutritional facts.
  5. Ejecuta todas las celdas y observa los resultados.

  6. Guarda prompt.ipynb.

Una vez que estés conforme con los resultados, verifica el objetivo.

Para verificar este objetivo, haz clic en Revisar mi progreso. Usar cURL para probar una instrucción con la API

Tarea 2. Escribe el framework de Streamlit y solicita el código de Python para completar chef.py

Para esta tarea, clonarás un repo de GitHub y descargarás el archivo chef.py. Luego, agregarás el código del framework de Streamlit al archivo chef.py para la preferencia de vino, para completar la interfaz de usuario de la aplicación. También incluirás una instrucción personalizada de Gemini (similar a la de la tarea 1), pero esta incluye variables.

  1. Usa Cloud Shell para clonar el repo que aparece a continuación desde el directorio predeterminado.

    git clone https://github.com/GoogleCloudPlatform/generative-ai.git
  2. Navega al directorio gemini-streamlit-cloudrun.

    cd generative-ai/gemini/sample-apps/gemini-streamlit-cloudrun Importante: Todo el trabajo en este Lab de desafío debe realizarse dentro de este directorio. Si no descargas el archivo chef.py y lo modificas aquí, no se podrá acceder al framework de Streamlit. Tampoco podrás probarlo en Cloud Shell (tarea 3), compilar el contenedor de Docker (tarea 4), ni implementarlo y probarlo en Cloud Run (tarea 5).
  3. Descarga el archivo chef.py con el siguiente comando.

    gsutil cp gs://spls/gsp517/chef.py .
  4. Abre el archivo chef.py en el editor de Cloud Shell y revisa el código.

    Nota: El archivo chef.py ya incluye el código de la interfaz de usuario del framework de Streamlit para las variables cuisine, dietary_preference, allergy, ingredient_1, ingredient_2 e ingredient_3. Revisa este código de interfaz antes de completar el siguiente paso.
  5. Agrega la opción del botón de selección del framework de Streamlit para la variable de vino. Incluye opciones para Tinto, Blanco y Ninguno.

  1. Guarda el archivo chef.py.

  2. Agrega la nueva instrucción de Gemini a continuación en el código de Python.

    prompt = f"""I am a Chef. I need to create {cuisine} \n recipes for customers who want {dietary_preference} meals. \n However, don't include recipes that use ingredients with the customer's {allergy} allergy. \n I have {ingredient_1}, \n {ingredient_2}, \n and {ingredient_3} \n in my kitchen and other ingredients. \n The customer's wine preference is {wine} \n Please provide some for meal recommendations. For each recommendation include preparation instructions, time to prepare and the recipe title at the begining of the response. Then include the wine paring for each recommendation. At the end of the recommendation provide the calories associated with the meal and the nutritional facts. """
  3. Guarda el archivo chef.py.

Una vez que estés conforme con el código de la instrucción de Gemini que agregaste en chef.py, ejecuta el siguiente comando en Cloud Shell para subir el archivo al bucket -generative-ai. En la consola de Cloud, haz clic en Abrir terminal para abrir la sesión en Cloud Shell.

gcloud storage cp chef.py gs://{{{project_0.project_id|set at lab start}}}-generative-ai/

Para verificar este objetivo, haz clic en Revisar mi progreso. Escribir el framework de Streamlit y solicitar el código de Python para completar chef.py

Nota: Asegúrate de ejecutar el comando anterior después de realizar cualquier cambio en el archivo chef.py, de modo que el archivo chef.py actualizado esté presente en el bucket.

Tarea 3. Prueba la aplicación

Para esta tarea, usarás la terminal en Cloud Shell para ejecutar y probar tu aplicación.

Asegúrate de seguir en esta ruta: generative-ai/gemini/sample-apps/gemini-streamlit-cloudrun.

  1. Configura el entorno virtual de Python y, además, instala las dependencias.

  2. Configura las variables de entorno para PROJECT (como tu ID del proyecto) y REGION (como la región que estás utilizando en el entorno del lab).

  3. Ejecuta la aplicación chef.py y pruébala.

Una vez que hayas probado la aplicación en Cloud Shell y confirmado que funciona según lo diseñado, sin errores, verifica el objetivo.

Para verificar este objetivo, haz clic en Revisar mi progreso. Probar la aplicación

Tarea 4. Modifica el archivo Dockerfile y envía la imagen a Artifact Registry

En esta tarea, modificarás el Dockerfile de muestra para utilizar tu archivo chef.py y enviar la imagen de Docker a Artifact Registry.

Importante: Antes de completar los pasos de esta tarea, te recomendamos que establezcas variables de entorno para PROJECT (como el ID de tu proyecto) y REGION (como la región que estás utilizando en el entorno del lab), tal como lo hiciste en una tarea anterior.
  1. Usa el editor de Cloud Shell para modificar el Dockerfile para usar chef.py y, luego, guarda el archivo.

  2. En Cloud Shell, establece las siguientes variables de entorno:

    Variable Valor
    AR_REPO 'chef-repo'
    SERVICE_NAME 'chef-streamlit-app'
    Nota: Te recomendamos que combines este comando y los siguientes dos como uno solo, ya que el proceso para crear el repositorio de Artifact Registry y enviar la compilación a Cloud Build tarda alrededor de 8 minutos.
  3. Crea el repositorio de Artifact Registry con el comando gcloud artifacts repositories create y los siguientes parámetros:

    Parámetro Valor
    nombre del repo $AR_REPO
    ubicación $REGION
    formato del repositorio Docker
  4. Envía la compilación con el comando gcloud builds submit y los siguientes parámetros:

    Parámetro Valor
    etiqueta "$REGION-docker.pkg.dev/$PROJECT/$AR_REPO/$SERVICE_NAME"
  5. Espera a que se complete el comando.

Una vez que se complete el comando, verifica el objetivo.

Para verificar este objetivo, haz clic en Revisar mi progreso. Modificar el Dockerfile y enviar la imagen de Docker a Artifact Registry

Tarea 5. Implementa la aplicación en Cloud Run y pruébala

En esta tarea, implementarás la aplicación (como un artefacto de Docker) en Cloud Run y, luego, probarás que se ejecute desde el extremo de servicio de Cloud Run.

  1. En Cloud Shell, implementa la aplicación (como un artefacto de Docker) con el comando gcloud run deploy y los siguientes valores de parámetros:

    Parámetro Valor
    puerto 8080
    imagen "$REGION-docker.pkg.dev/$PROJECT/$AR_REPO/$SERVICE_NAME"
    marca --allow-unauthenticated
    región REGION
    plataforma managed
    proyecto PROJECT
    set-env-vars PROJECT=$PROJECT,REGION=$REGION
    Nota: Es posible que aparezca una instrucción con la pregunta “Do you want enable these APIs to continue (this will take a few minutes)” [“¿Quieres habilitar estas APIs para continuar (esto tardará algunos minutos)?”]. De ser así, selecciona Y para responder sí.

    La implementación tardará unos minutos en completarse y se te proporcionará una URL que dirige al servicio de Cloud Run. Puedes acceder a ella en el navegador para ver la aplicación de Cloud Run que acabas de implementar.

  2. Prueba la aplicación con el vínculo proporcionado.

Una vez que hayas probado que la aplicación se ejecuta correctamente en Cloud Run, verifica el objetivo.

Para verificar este objetivo, haz clic en Revisar mi progreso. Implementar la aplicación en Cloud Run y probarla

¡Felicitaciones!

Completar este Lab de desafío significa que verificaste tus habilidades para desarrollar aplicaciones potenciadas por IA generativa con Gemini y aprendiste a utilizarlas en una aplicación de chef basada en IA.

Insignia de habilidad de Develop GenAI Apps with Gemini and Streamlit

Próximos pasos y más información

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: 4 de abril de 2024

Prueba más reciente del lab: 8 de marzo de 2024

Copyright 2024 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.

Este contenido no está disponible en este momento

We will notify you via email when it becomes available

¡Genial!

We will contact you via email if it becomes available