Puntos de control
Use cURL to test sample prompts with the API
/ 15
Write Streamlit framework code for the user interface
/ 25
Test the application in Cloud Shell
/ 20
Modify the Dockerfile and push the Docker image to the Artifact Registry
/ 20
Deploy the application to Cloud Run and test it
/ 20
Develop GenAI Apps with Gemini and Streamlit: Lab de desafío
- GSP517
- Descripción general
- Configuración y requisitos
- Situación del desafío
- Tarea 1. Usa 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
- Tarea 3. Prueba la aplicación
- Tarea 4. Modifica el archivo Dockerfile y envía la imagen a Artifact Registry
- Tarea 5. Implementa la aplicación en Cloud Run y pruébala
- ¡Felicitaciones!
GSP517
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)
- Tiempo para completar el lab: Recuerda que, una vez que comienzas un lab, no puedes pausarlo.
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.
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.
-
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.
-
Abre una terminal y descarga el archivo prompt.ipynb de Cloud Storage con el siguiente comando:
gsutil cp gs://spls/gsp517/prompt.ipynb . -
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. -
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. -
Ejecuta todas las celdas y observa los resultados.
-
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.
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.
-
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 -
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). -
Descarga el archivo
chef.py
con el siguiente comando.gsutil cp gs://spls/gsp517/chef.py . -
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. -
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.
-
Guarda el archivo
chef.py
. -
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. """ -
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
Para verificar este objetivo, haz clic en Revisar mi progreso.
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
.
-
Configura el entorno virtual de Python y, además, instala las dependencias.
-
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).
-
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.
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.
-
Usa el editor de Cloud Shell para modificar el Dockerfile para usar
chef.py
y, luego, guarda el archivo. -
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. -
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 -
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" -
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.
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.
-
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.
-
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.
¡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.
Próximos pasos y más información
- Consulta la documentación de la IA generativa en Vertex AI.
- Obtén más información sobre la IA generativa en el canal de YouTube Google Cloud Tech.
- Repo oficial de la IA generativa de Google Cloud
- Notebooks de Gemini de ejemplo
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.