Codey La IA Generativa de Google para tareas de codificación

Codey Google's AI for coding tasks

Introducción

Desde su introducción, OpenAI ha lanzado innumerables modelos de IA generativos y modelos de lenguaje amplios construidos sobre sus frameworks GPT de primera categoría, incluido ChatGPT, su IA conversacional generativa. Después de la exitosa creación de modelos de lenguaje conversacional, los desarrolladores están constantemente tratando de crear modelos de lenguaje amplios que puedan desarrollar o ayudar a los desarrolladores a codificar aplicaciones. Muchas empresas han comenzado a investigar estos modelos de lenguaje amplios, incluida OpenAI, que ayudarían a los desarrolladores a construir aplicaciones más rápido con los modelos de lenguaje amplios que conocen los lenguajes de programación. Google construyó Codey, un modelo afinado de PaLM 2, capaz de realizar diversas tareas de codificación.

También te puede interesar: PaLM 2 de Google para abordar el efecto GPT-4

Objetivos de aprendizaje

  • Comprender cómo se construyó Codey
  • Aprender a trabajar con Codey en la Plataforma Google Cloud
  • Comprender el tipo de indicaciones que Codey puede tomar
  • Explorar y participar con diferentes modelos dentro de Codey
  • Aprovechar Codey para generar código Python funcional
  • Probar Codey para ver cómo identifica y resuelve errores en el código

Este artículo se publicó como parte del Data Science Blogathon.

¿Qué es Codey?

Codey es uno de los modelos fundamentales construidos y lanzados recientemente por Google. Codey se basa en el gran modelo de lenguaje PaLM 2. Codey es un modelo afinado del gran modelo de lenguaje PaLM 2. Se ha afinado a Codey un gran corpus de códigos de alta calidad y documentos de codificación. Google afirma que Codey puede codificar en más de 20 lenguajes de programación, incluyendo Python, C, Javascript, Java y más. Codey se utilizó para mejorar productos de Google como Google Colab, Android Studio, etc.

Codey se construyó para cumplir tres propósitos. Uno es la completación de código. Codey puede analizar el código que estás escribiendo y hacer sugerencias valiosas basadas en él. Por lo tanto, tiene en cuenta el contexto del código que estás escribiendo. Otro es la generación de código. Codey puede generar código completo y funcional en cualquier lenguaje, siempre que se le proporcione la indicación adecuada. Por último, puedes chatear con tu código. Puedes proporcionar tu código a Codey y chatear con Codey relacionado con el código. Codey ahora está disponible para el público en general a través de Vertex AI en la Plataforma Google Cloud.

También te puede interesar: Med-PaLM 2 de Google será la IA médica más avanzada

Comenzando con Codey

Para trabajar con Codey de Google, debemos tener una cuenta en la Plataforma Google Cloud. La Plataforma Google Cloud aloja el servicio llamado Vertex AI, que contiene todos los modelos desarrollados por Google e incluso los modelos de código abierto afinados por Google. Google ha puesto recientemente a disposición los modelos fundamentales de Google recientemente anunciados, que incluyen PaLM 2, Codey, Chirp e Imagen. Los usuarios de GCP pueden encontrarlos aquí.

Después de crear una cuenta en la Plataforma Google Cloud, debemos habilitar la API de Vertex AI para trabajar con Vertex AI. Para ello, ve a API y servicios -> Biblioteca, luego busca la API de Vertex AI. Podemos ver la API de Vertex AI en la primera imagen a continuación. Luego haz clic en ella. Después de hacer clic en ella, encontraremos un recuadro azul con “Habilitar API” escrito en él. Haz clic en el recuadro azul para habilitar la API, que se verá similar a la segunda imagen.

Esta confirmación nos permite trabajar con cualquiera de los servicios de IA que Google proporciona, incluidos los modelos fundamentales de Google como Chirp, Imagen y Codey.

Generación de código con Codey

Esta sección analizará la generación de código con el modelo Codey. El requisito previo para esto es habilitar la API de Vertex AI en GCP, lo cual ya hemos hecho. El recorrido del código que se muestra aquí se realizará en Google Colab. Antes de llegar al código, debemos instalar algunos paquetes necesarios para trabajar con Vertex AI, lo cual haremos a través de pip.

!pip install shapely

!pip install google-cloud-aiplatform>=1.27.0

Shapely y google-cloud-aiplatform son los únicos dos paquetes necesarios para comenzar a trabajar con el modelo Codey. Ahora importaremos los paquetes e incluso autenticaremos nuestra cuenta de Google, para que Colab pueda usar nuestras credenciales de GCP para ejecutar el modelo Codey desde Vertex AI.

from google.colab import auth as google_auth
google_auth.authenticate_user()


import vertexai
from vertexai.preview.language_models import CodeGenerationModel


vertexai.init(project="tu_id_de_proyecto", location="us-west1")
parameters = {
    "temperature": 0.3,
    "max_output_tokens": 1024
}
  • En primer lugar, importamos `google_auth` del paquete `Google.colab`. Esto es necesario porque nos ayudará a autenticarnos permitiendo que Colab use nuestras credenciales para ejecutar el modelo Codey de Vertex AI.
  • Luego importamos `vertex`, el paquete que contiene todos los modelos relacionados con el aprendizaje automático y la inteligencia artificial, desarrollados por Google. Finalmente, importamos `CodeGenerationModel` de `vertexai`, con el cual trabajaremos.
  • A continuación, iniciamos Vertex AI con el proyecto con el que trabajaremos. Aquí proporcionamos el ID del proyecto a la variable `project` y asignamos una ubicación cualquiera a la variable `location`. Estas dos variables se pasan al método `init()` de `vertexai`.
  • También especificamos los `parámetros` de antemano. Estos incluyen el parámetro `temperature`, que determina la creatividad de nuestro modelo, y el parámetro `max_out_tokens`, que establece el límite para la longitud de la salida generada por el modelo de lenguaje grande.

Tomaremos este modelo importado, es decir, el `CodeGenerationModel`, y lo probaremos pasando un texto inicial.

Texto inicial

code_model = CodeGenerationModel.from_pretrained("[email protected]")
response = code_model.predict(
    prefix = """Escribe un código en Python para contar la aparición de la palabra "rocket" en una frase de entrada dada utilizando expresiones regulares""",
    **parameters
)

print(f"Respuesta del modelo: {response.text}")
  • Aquí está el modelo para la generación de código. Estamos trabajando con un modelo pre-entrenado de Google, es decir, el modelo “[email protected]”, que es el modelo PaLM 2 ajustado. Este modelo es responsable de generar código dado el texto inicial.
  • Para pasar el texto inicial, lo pasamos a la función `predict()` del modelo. Almacenamos el texto inicial en la variable `prefix`. En este caso, queremos que el modelo genere código Python para contar las apariciones de la palabra “rocket” utilizando expresiones regulares.
  • También pasamos los parámetros previamente definidos a la función `predict()`.
  • Las respuestas generadas por este modelo de generación de código se guardan en la variable `response`, y para obtener la respuesta, llamamos al método `text` para obtener la respuesta del modelo.

A continuación, se muestra el resultado del código:

Obtenemos un código Python como resultado para el texto inicial que hemos proporcionado. El modelo ha escrito un script de Python que cumple con la consulta que hemos proporcionado. La única forma de probar esto es copiar la respuesta, pegarla en otra celda de Colab y ejecutarla. Aquí vemos el resultado:

La frase que hemos proporcionado cuando se ejecuta el código es “Hemos lanzado nuestro primer cohete. El cohete está construido con un 100% de material reciclado. Hemos lanzado con éxito nuestro cohete al espacio.” La salida indica correctamente que la palabra “rocket” ha ocurrido tres veces. De esta manera, el modelo de generación de código de Codey puede trabajar para crear código funcional rápido simplemente proporcionando indicaciones simples al modelo de lenguaje grande.

Chat de código con Codey

La función Code Chat nos permite interactuar con Codey en nuestro código. Le proporcionamos código a Codey y conversamos con el modelo de Codey sobre el código. Puede ser para comprender mejor el código, cómo funciona, o si queremos enfoques alternativos para el código dado, lo cual Codey puede hacer al analizar el código actual. Si encontramos errores, podemos proporcionar tanto el código como el error, y Codey lo analizará y dará una solución para resolver el error. Para esto, debemos navegar hasta Vertex AI en GCP. En el servicio Vertex AI, luego navegamos hasta la sección de Lenguaje (Language) en el Generative AI Studio, que se muestra a continuación:

Veremos un enfoque no basado en programación, es decir, inicialmente hemos visto cómo trabajar con la generación de código a través de Python con la API de Vertex AI. Ahora realizaremos este tipo de tarea directamente desde GCP. Para chatear con Codey sobre nuestro código, seleccionamos la opción Code Chat en el centro del recuadro azul. Hacemos clic en él para avanzar y nos llevará a la siguiente interfaz.

Aquí vemos que el modelo que utilizaremos es el modelo “[email protected]″. Ahora, lo que haremos es introducir un error en el código de Expresión Regular que generamos anteriormente. Luego, daremos este código de error y el error causado al Code Chat y veremos si el modelo corrige nuestro código. En el código de Python Regex, reemplazaremos re.findall() con re.find() y ejecutaremos el código. Obtendremos el siguiente error.

Aquí vemos en la salida que obtenemos un error cerca del método re.find(). Ahora pasaremos este código modificado y el error que obtuvimos al Code Chat en “Ingrese un mensaje para iniciar una conversación”. Obtenemos la siguiente salida tan pronto como presionamos el botón Enter.

Vemos que el modelo Codey ha analizado nuestro código y ha sugerido dónde estaba el error. Incluso proporcionó el código corregido para que podamos trabajar con él. De esta manera, el Code Chat puede identificar y corregir errores, comprender el código e incluso obtener las mejores prácticas de código.

Conclusión

En este artículo, hemos analizado uno de los modelos fundamentales anunciados recientemente por Google, el Codey, una versión afinada del modelo de lenguaje generativo PaLM 2 de Google. El modelo Codey está afinado en una amplia calidad de código, lo que le permite escribir código en más de 20 lenguajes de programación diferentes, incluyendo Python, Java, JavaScript, etc. El modelo Codey está disponible de forma inmediata a través de Vertex AI, al que podemos acceder a través de GCP o con la API de Vertex AI a través de la API, ambos métodos que hemos visto en este artículo.

Más información: IA generativa: definición, herramientas, modelos, beneficios y más

Algunos de los puntos clave de este artículo incluyen:

  • Codey es un modelo afinado construido sobre PaLM 2, lo que lo hace robusto y confiable.
  • Es capaz de escribir código en más de 20 lenguajes de programación diferentes.
  • Con Codey, podemos generar código a partir de una simple indicación e incluso chatear con el modelo para corregir los errores que surjan en el código.
  • Codey incluso proporciona sugerencias, una función de finalización de código, donde el modelo analiza el código que estás escribiendo y ofrece sugerencias valiosas.
  • Podemos trabajar con Codey directamente a través de la interfaz de usuario del Generative AI Studio en Vertex AI proporcionado por GCP.

Preguntas frecuentes

Los medios mostrados en este artículo no son propiedad de Analytics Vidhya y se utilizan a discreción del autor.

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

Cómo las naciones están perdiendo una carrera global para abordar los daños de la inteligencia artificial.

Alarmado por el poder de la inteligencia artificial, Europa, Estados Unidos y otros están tratando de responder, pero...