Un recorrido por Duet AI para desarrolladores

1. Introducción

En este lab, usarás Duet AI, un colaborador potenciado por IA en Google Cloud. Conocerás cómo puedes usar el chat de Duet AI y la asistencia para código intercalado para generar código, comprenderlo y mucho más.

Actividades

  • Usarás el IDE de Cloud Shell para descargar una plantilla de código existente de una aplicación web.
  • Usarás el chat de Duet AI en el IDE de Cloud Shell para hacer preguntas generales sobre Google Cloud.
  • Usarás la asistencia de código insertado de Duet AI en el IDE de Cloud Shell para generar, resumir y completar código.

Qué aprenderás

  • Cómo usar Duet AI para completar distintas tareas de desarrollador, como la generación, la finalización y el resumen de código
  • Cómo usar Duet AI para conocer Google Cloud

Qué necesitarás

  • Navegador web Chrome
  • Una cuenta de Gmail
  • Un proyecto de Cloud con la facturación habilitada
  • Duet AI habilitado para tu proyecto de Cloud

Este lab está dirigido a desarrolladores de todos los niveles, incluidos principiantes. Aunque la aplicación de muestra está en lenguaje Python, no es necesario que sepas programar en ese lenguaje para entender lo que se hace. Nuestro enfoque será que te familiarices con las funciones de Duet AI para desarrolladores.

2. Configuración

En esta sección, se explica todo lo que debes hacer para comenzar este lab.

Habilita Duet AI en el proyecto de Google Cloud

Ahora habilitaremos la API de Duet AI en el proyecto de Google Cloud. Sigue los pasos que se indican a continuación:

  1. Ve a https://console.cloud.google.com y asegúrate de haber seleccionado el proyecto de Google Cloud con el que planeas trabajar en este lab. Haz clic en el ícono de Duet AI que ves en la esquina superior derecha.

e28d7b796fb2ab47.png

  1. La ventana de chat de Duet AI se abrirá en el lado derecho de la consola. Haz clic en el botón Habilitar como se muestra a continuación. Si no ves el botón Habilitar y, en cambio, ves una interfaz de chat, es probable que ya hayas habilitado Duet AI para el proyecto y puedas continuar directamente con el siguiente paso.

f207244ecb9d6b0d.png

  1. Una vez que esté habilitada, haz una o dos consultas para probar Duet AI. Se muestran algunas consultas de ejemplo, pero puedes probar con algo como What is Cloud Run?.

faa821f22611784a.png

Duet AI responderá tu pregunta. Puedes hacer clic en el ícono f68286b2b2ea5c0a.png de la esquina superior derecha para cerrar la ventana de chat de Duet AI.

Habilita Duet AI en el IDE de Cloud Shell

Usaremos el IDE de Cloud Shell en el resto del codelab. Debemos habilitar y configurar Duet AI en el IDE de Cloud Shell. Los pasos se indican a continuación:

  1. Inicia Cloud Shell con el ícono que se muestra a continuación. El inicio de la instancia de Cloud Shell puede tardar uno o dos minutos.

72dc3df7b007fcde.png

  1. Haz clic en el botón Editor o Abrir editor (según corresponda) y espera a que aparezca el IDE de Cloud Shell. Si ves el botón Probar el nuevo editor, haz clic en él.

1e0437ef773faca8.png

  1. Haz clic en el botón Cloud Code - Acceder en la barra de estado de la parte inferior como se muestra. Autoriza el complemento según las instrucciones. Si ves "Cloud Code (ningún proyecto)" en la barra de estado, selecciónalo y elige el proyecto específico de Google Cloud de la lista de proyectos con los que planeas trabajar.

3c448ebc5cef03e4.png

  1. (Opcional) Si no ves Duet AI en la barra de estado de la parte inferior derecha, deberás habilitar Duet AI en Cloud Code. Antes de hacerlo, asegúrate de que Duet AI esté habilitado en el IDE. Para ello, ve a Extensión de Cloud Code → Configuración y, luego, ingresa el texto Duet AI: Habilitar como se muestra a continuación. Asegúrate de que la casilla de verificación esté seleccionada. Debes volver a cargar tu IDE. De esa forma, se habilitará Duet AI en Cloud Code, y la barra de estado de Duet AI aparecerá en tu IDE.

d5743fc11ee117bc.png

  1. Haz clic en el botón Duet AI en la esquina inferior derecha como se muestra y selecciona el proyecto de Google Cloud correcto para el que habíamos habilitado la API de Cloud AI Companion.

d98bff6476bb15a.png

  1. Una vez que selecciones tu proyecto de Google Cloud, asegúrate de que puedas verlo en el mensaje de estado de Cloud Code en la barra de estado y de tener Duet AI habilitado en la barra de estado del lado derecho, como se muestra a continuación:

31002a565ea80e72.png

Duet AI está listo para usarse.

3. Crea la aplicación de muestra

Crearemos una aplicación de muestra (una aplicación de Flask en Python) que usaremos para explorar las funciones de Duet AI.

Lleva a cabo los siguientes pasos:

  1. Haz clic en el nombre del proyecto de Google Cloud en la barra de estado que aparece a continuación.

a09e8f79daad1643.png

  1. Aparecerá una lista de opciones. Haz clic en Aplicación nueva en la lista que aparece a continuación.

ed0e37d92af49b65.png

  1. Selecciona aplicación Cloud Run.
  2. Selecciona la plantilla de aplicación Python (Flask): Cloud Run.
  3. Guarda la aplicación nueva en la ubicación que quieras.
  4. Una notificación confirmará que se creó tu aplicación y se abrirá una nueva ventana con tu aplicación cargada, como se muestra a continuación. Se abrirá un archivo README.md. Ahora puedes cerrar esa vista.

b29976a316b5bc21.png

4. Chatea con Duet AI

Primero, aprenderás a chatear con Duet AI. Duet AI está disponible como un asistente de chat en el IDE de Cloud Shell como parte de la extensión de Cloud Code en VS Code. Para abrirlo, haz clic en el botón de Duet AI en la barra de navegación izquierda. Busca el ícono de Duet AI 94e547b05e30e432.png en la barra de herramientas de navegación del lado izquierdo y haz clic en él.

De esa forma, se abrirá el panel de Duet AI en el IDE de Cloud Shell y podrás chatear con Duet AI para obtener ayuda en Google Cloud.

b99f4f97fd1a1b62.png

Usemos el panel de Duet AI para ingresar una instrucción y ver la respuesta de Duet AI. Escribe la siguiente instrucción:

What is Cloud Run? 

Duet AI debería brindar una respuesta con los detalles sobre Cloud Run. Las instrucciones son preguntas o sentencias que describen la ayuda que necesitas. Los mensajes pueden incluir contexto de código existente que Google Cloud analiza para proporcionar respuestas más útiles o completas. Si quieres obtener más información para escribir instrucciones y generar buenas respuestas, consulta Escribe mejores instrucciones para Duet AI.

Prueba los siguientes ejemplos de instrucciones o alguna de las tuyas para hacer preguntas sobre Google Cloud:

  • What is the difference between Cloud Run and Cloud Functions?
  • What services are available on Google Cloud to run containerized workloads?
  • What are the best practices to optimize costs while working with Google Cloud Storage?

5. Explicación del código

Para ayudarte a aumentar la productividad y, al mismo tiempo, minimizar el cambio de contexto, Duet AI proporciona acciones inteligentes potenciadas por IA directamente en tu editor de código. Cuando seleccionas tu código en el editor de código, puedes ver una lista de acciones relevantes para tu contexto y elegir alguna.

Puedes usar Duet AI para comprender partes del código de la aplicación. Regresa a la aplicación que creamos en un paso anterior y podrás usar Duet AI para explicar los archivos y el código disponibles en tu IDE.

  1. Si los archivos no están visibles, en la barra de actividades del IDE, haz clic en Explorador (Menú del explorador de Code-OSS).
  2. En el panel Explorador, selecciona Dockerfile.
  3. Puedes seleccionar cualquier parte del contenido del archivo, hacer clic en la bombilla (Bombilla de Duet AI con Code-OSS) y, luego, en Explicar. Por ejemplo, selecciona la línea que comienza con ENTRYPOINT, haz clic en la bombilla (Bombilla de Duet AI con Code-OSS) y, luego, en Explicar. Duet AI genera una explicación en lenguaje natural sobre la sección específica del Dockerfile de la que necesitas más información. Duet AI responde con detalles sobre la instrucción ENTRYPOINT. Aprenderás que, con esta instrucción, Docker ejecuta el archivo app.py cuando se inicia el contenedor.
  4. Para ver el contenido del archivo app.py, en la barra de actividades, haz clic en Explorador (Menú del explorador de Code-OSS) y, luego, selecciona app.py.
  5. En la definición de la función hello(), puedes seleccionar las líneas sobre las que quieres obtener más información. Luego, haz clic en la bombilla (Bombilla de Duet AI con Code-OSS) y, luego, en Explicar esto. En nuestro ejemplo, seleccionamos las siguientes dos líneas de código y, luego, activamos la acción Explicar.

14d9c56af016b65d.png

  1. Duet AI responde con una explicación detallada de esas dos variables de entorno de Cloud Run (K_SERVICE, K_REVISION), además de cómo se usan en el código de la aplicación. Ten en cuenta que Duet AI con su conocimiento de Google Cloud y servicios como Cloud Run no solo explicó el código de Python, sino que también brindó el contexto de lo que significan esas variables dentro de Cloud Run.

Prueba las siguientes formas adicionales de obtener una explicación del código:

  1. Deja a app.py como el archivo abierto actualmente en el IDE. Ve al panel de chat de Duet AI en la barra de navegación izquierda en VS Code y, luego, ingresa la instrucción Explicar este archivo. De esa forma, tendrá en cuenta todo el archivo y te lo explicará.
  2. También puedes seleccionar cualquier parte del archivo, usar el panel de chat de Duet AI en el lado izquierdo y, luego, ingresar la instrucción Explicar. De esa forma, se explicará solo la parte seleccionada del archivo. Es similar a hacer clic en la bombilla (Bombilla de Duet AI con Code-OSS) y, luego, en Explicar.
  3. También puedes seleccionar una parte del texto y hacer clic en la opción de acciones inteligentes de Duet AI, en la parte superior derecha del IDE, como se muestra a continuación, para obtener una lista de las acciones que se pueden realizar en el texto seleccionado. Una de esas opciones será la acción Explicar:

35b59223f0726492.png

6. Genera código con instrucciones

En esta sección, se muestra cómo usar Duet AI para generar código a partir de comentarios.

Probemos estas funciones. Sigue los pasos que se indican a continuación:

  1. Crea un archivo nuevo llamado utils.py.
  2. En el archivo de código nuevo, ingresa # Function to print a list of blobs in a Google Cloud Storage bucket en una línea nueva y, luego, presiona Enter (para Windows y Linux) o Return (para macOS). Es posible que Duet intente generar código mientras escribes, pero no lo aceptes. Activaremos específicamente la generación de código en el siguiente paso.
  3. Para activar la generación de código, presiona Control+Enter (para Windows y Linux) o Control+Return (para macOS). Junto al texto de la instrucción en el archivo de Python, Duet AI genera el código en forma de texto fantasma. Te proporcionará una o más sugerencias de código con una barra de herramientas, a través de la cual puedes navegar de una sugerencia de código a otra (en caso de que haya varias sugerencias). Incluso puedes aceptar cualquiera de las sugerencias de código por medio de la barra de herramientas. En caso de que no puedas ver la barra de herramientas o desaparezca, coloca el cursor sobre el código generado para que vuelva a aparecer.
  4. Opcional: Para aceptar el código generado, presiona Tab. En caso de que haya distintas sugerencias, puedes presionar Tab varias veces para navegar de un fragmento de código sugerido al siguiente.

De esta manera, se insertará el código que aceptaste en el archivo utils.py. A continuación, se muestra una captura de pantalla de muestra. El código que se te proporciona puede diferir del que se muestra a continuación.

ef132e1f83eaf508.png

Observa la línea ondulada alrededor del código. Es la cita de código en acción. Si colocas el cursor sobre cualquiera de las líneas, se mostrará la atribución del código y otra información relevante sobre las licencias. A continuación, se muestra un ejemplo:

84b8d1024b867a48.png

Luego, puedes hacer clic en Quick Fix para ignorar la advertencia de cita. De esa forma, se mostrarán las sugerencias de la corrección rápida, que se incluye a continuación:

10f4672830954c90.png

Puedes elegir Ignore Citation Warning si aceptas la licencia del código.

(Opcional) Estas son otras sugerencias que puedes probar para generar código:

  1. También puedes usar la función de chat de Duet AI para usar la misma instrucción y obtener la respuesta en la ventana del chat. Luego, en la interfaz de chat, se muestran opciones para copiar el código o insertarlo en el archivo actual.
  2. Prueba tus propias indicaciones para obtener el código de muestra que necesitas. A continuación, se proporcionan algunas sugerencias (suponiendo que estás en uno de los archivos de Python), o elige alguna de las instrucciones que se muestran a continuación:
  • Escribir código de Python para publicar un mensaje en Google Cloud Pub/Sub
  • Escribir código de Python para inicializar un cliente de BigQuery
  • Escribir código de Python para conectar mi aplicación a Cloud SQL

7. Obtén sugerencias de códigos intercalados mientras escribes código

Mientras escribes código, Duet AI te ofrece sugerencias de código intercaladas que puedes aceptar o ignorar. Para probar esta función, modificaremos el archivo utils.py que creamos en la sección anterior.

  1. Abre el archivo utils.py como el archivo actual en el IDE de Cloud Shell.
  2. Una de las cosas que podemos hacer es proporcionar las sentencias import correctas, en caso de que no estén allí en el código generado.
  3. Comienza a escribir la palabra import. Deberías ver que Duet AI te sugiere código en forma de texto fantasma. Para aceptar la sugerencia de código de Duet AI, presiona Tab. De lo contrario, para ignorar la sugerencia, presiona Esc o continúa escribiendo el código. En la siguiente pantalla de ejemplo, se sugiere importar la clase storage, ya que se usa en el código. Presiona Tab para aceptar la sugerencia de código. También se sugiere la sentencia import os, pero, como no es necesaria, podemos quitarla.

cb3dfff74172959d.png

  1. Ve al final del archivo utils.py y agrega la línea para invocar la función si no se proporcionó. En este caso, es la función list_blobs. Puedes comenzar a escribir el nombre de la función, y la función para completar código te ayudará a terminar la instrucción.
  2. Deberás proporcionar el nombre del bucket_ y puedes usar el siguiente nombre de bucket público: duetai-tour-bucket. A continuación, se muestra la invocación de ejemplo de la función. Ten en cuenta que es posible que veas pequeñas diferencias en los nombres de las funciones, entre otras.

ac3818b516ef228f.png

(Opcional) Ejecutar el código de muestra

Como escribimos el código para enumerar los BLOB de un bucket de Google Cloud Storage, tendremos que instalar la biblioteca google-cloud-storage de Python.

Ve al archivo requirements.txt y agrega una línea nueva con dependencia de google-cloud-storage, como se muestra a continuación. A continuación, se incluye un archivo requirements.txt de ejemplo.

Flask==2.3.3
requests==2.31.0
debugpy # Required for debugging.
google-cloud-storage

Guarda el archivo requirements.txt.

Para ver el código en acción, es necesario iniciar una nueva sesión de la terminal desde el IDE de Cloud Shell por medio del ícono de menú en la parte superior izquierda. Haz clic en el ícono de menú y, luego, en Terminal → Terminal nueva como se muestra a continuación:

6bd5bec67de34b2a.png

En la sesión de la terminal, instala las dependencias de Python con el siguiente comando:

pip install -r requirements.txt

Por último, puedes ejecutar el archivo utils.py con el siguiente comando:

python utils.py

Este comando debería mostrar los BLOB que están presentes en el bucket público de Google Cloud Storage. Lo ideal sería ver 2 BLOB en el resultado (file1.txt y file2.txt).

Solución de problemas

En caso de que recibas un error de "acceso" mientras se muestran los objetos en el bucket público anterior, puedes optar por crear tu propio bucket de Google Cloud Storage y usarlo en lugar de duetai-tour-bucket. En la siguiente sección, se muestra cómo hacerlo.

(Opcional) Crea tu propio bucket de Cloud Storage

Tomemos la ayuda de Duet AI para proporcionarnos los comandos que permiten crear un bucket, hacer que sea accesible de forma pública y subir objetos de muestra a él.

Comienza con la siguiente instrucción: "¿Cuál es el comando de gcloud para crear un bucket público en Google Cloud Storage?".

Eso debería proporcionarte un comando de gcloud para crear un bucket. A continuación, se muestra el comando exacto:

gcloud storage buckets create gs://<BUCKET_NAME>

Selecciona un nombre único para el <BUCKET_NAME> y ejecuta el comando en la terminal.

Ahora que creamos un bucket, queremos que el bucket sea accesible de forma pública. Pídele a Duet AI el comando para hacerlo con la siguiente instrucción: "¿Cómo hago que un bucket de Google Cloud Storage sea accesible de forma pública?".

Eso debería proporcionarte un comando de gcloud para hacer que sea accesible de forma pública. La respuesta debería ser algo así:

gcloud storage buckets add-iam-policy-binding gs://<BUCKET_NAME> --member=allUsers --role=roles/storage.objectViewer

Reemplaza <BUCKET_NAME> por el nombre del bucket que usaste antes y ejecuta el comando.

Por último, nos gustaría subir algunos archivos de muestra al bucket. Ejecuta los siguientes comandos en la terminal (recuerda sustituir la variable <BUCKET_NAME> con el nombre de tu bucket).

touch f1.txt
touch f2.txt

gcloud storage cp f1.txt gs://<BUCKET_NAME>
gcloud storage cp f2.txt gs://<BUCKET_NAME>

Ahora puedes ejecutar el archivo utils.py usando tu <BUCKET_NAME> en lugar de duetai-tour-bucket.

8. ¡Felicitaciones!

¡Felicitaciones! Usaste correctamente Duet AI en un proyecto de muestra para comprender cómo puede ayudarte con la generación, la finalización o el resumen de código, además de ayudarte a obtener respuestas a preguntas sobre Google Cloud.

Documentos de referencia