Logo de Datalytics
Logo de Datalytics
Logo de Datalytics
Logo de Datalytics

Casos de éxito

IA en Toyota para un código más simple y performante

Basados en GPT, Toyota y Datalytics desarrollamos un proceso de revisión de código automático para el área de Data & AI. Ganamos tiempo y disminuimos la cantidad de errores, lo que nos permite tener un código de mejor calidad.

El proceso es más dinámico que en otras herramientas de revisión automática. En caso que haya que agregar una regla de calidad de código, se puede hacer fácilmente sin tener que modificar todo.

Cliente: Empresa japonesa líder en la fabricación de automóviles.

Equipo: Arquitecto de datos (1) e ingeniero de datos (1).

Tecnología: Databricks, Azure AI services (Azure OpenAI) versión: GPT 4o.

Tiempo: 3 semanas.

Contar con un código limpio que performe bien habla mucho de la calidad del trabajo de ingeniería de datos. Sin embargo, la revisión es uno de los principales desafíos para estos equipos, el proceso no suele ser perfecto y los errores en los ambientes de testing y de producción son comunes. 

Sabemos que si una persona (o más) tiene que revisar 500 líneas de código, es probable que se le pasen algunos detalles. Somos humanos y errar es normal. Para evitar esto, entre Toyota y Datalytics, apoyados en GPT creamos un proceso de revisión de código con IA

 

Desafíos 

Los principales desafíos a los que nos enfrentamos junto con el equipo de Toyota fueron:

  • Tiempo de validación: Al momento de validar el código en Toyota utilizamos herramientas de revisión automática. Pero hay reglas que no se pueden revisar de esa forma (como por ejemplo, los errores de ortografía en el comentario de un campo) y su validación se hace manualmente entre pares. Esto insume más tiempo del equipo de ingeniería de datos ya que una persona realiza el pull request y otra lo controla. 
  • Errores humanos: En la validación manual el margen de error humano existe y aumentan las posibilidades de reproducirlos en el entorno de producción.  
  • Ir más allá de SQL: Las herramientas de validación automática que tenemos en Toyota están acotadas a SQL, no procesan las líneas de código Python y otros lenguajes. 

 

¿Qué hicimos?

Usamos GPT para hacer un control más exhaustivo de todo el código. Uno de sus principales aportes fue que, en relación con la calidad del código, puede ser más dinámico que cualquiera de las herramientas de revisión automática que suelen usarse. Otro de los aportes principales es la sugerencia de correcciones que realiza automáticamente, lo que también ahorra tiempo. 

Lo que hicimos fue:

1°) Pasar a GPT el código de todas las notebooks que modificamos o agregamos. 

2°) Le indicamos las reglas a validar. 

3°) GPT lo analiza y comenta las líneas del código que no cumplen con las reglas y sugiere correcciones. También se almacenan los resultados para hacer un análisis posterior de los errores más frecuentes y poder accionar sobre ellos.

Nuestro principal valor agregado estuvo en crear un proceso para un propósito especifico con el código de Toyota manteniéndolo en un entorno privado.  

Además, trabajamos en dos frentes:

  • Prompting: Hicimos un trabajo muy minucioso de refinado de prompts. Por un lado, le indicamos las reglas a validar y por el otro le especificamos cómo queríamos las respuestas y le dimos contexto.  Refinar esto es un trabajo de prueba y error, hay que ir cambiando el prompt para que devuelva lo que queremos. 


Automatización desde DevOps: La automatización ahorra tiempo de hacerlo manual y asegura que los resultados ya queden documentados. Cuando una persona genera un pull request, automáticamente desde DevOps se llama a la notebook (que usa GPT), se le pasa el código a validar, da las respuestas y dentro de un comentario del mismo pull request escribimos todas las observaciones y sugerencias de GPT. Nadie tiene que ir manualmente a ejecutar el proceso de revisión, lo que nos ahorra mucho tiempo.

Respuesta del agente con SQL y Python

Privacidad de datos

Algo muy importante es aclarar cómo manejamos la privacidad de los datos:

  • NO están disponibles para otros clientes.
  • NO están disponibles para OpenAI.
  • NO se utilizan para mejorar los modelos de OpenAI.
  • NO se utilizan para mejorar ningún producto o servicio del vendor tecnológico o de terceros.
  • NO se utilizan para mejorar automáticamente los modelos de OpenAI para su uso en el recurso.

Resultados

CodeReview tiene un gran potencial de reducir errores. El área de datos de Toyota tiene un marketplace con todas las tablas de la empresa al cual acceden las personas que las usan. Es un espacio muy visual que habla de la calidad del trabajo del equipo de ingeniería de datos. 

En este espacio se muestran los datos a toda la empresa, por eso es fundamental que las tablas no tengan errores de ortografía. Con CodeReview logramos reducir la cantidad de errores que llegan al entorno de producción. 

También nos permite reducir tiempos de retrabajo al detectar errores más temprano. Errores que llegaban a testing —porque se escapaban de la revisión manual en un pull request de DEV a TEST — ahora los puede detectar GPT y corregir antes que el código pase a testing.  

Lo que antes tenía pocos errores, ahora prácticamente no los tiene ya que la herramienta de IA los detecta de forma automática. 

Esto es solo el primer paso de una implementación más amplia que vamos a desarrollar desde Datalytics en Toyota. La solución ya está productiva, a futuro continuaremos afinándola y refinando los prompts para adaptarla cada vez más a lo que necesitamos. 

“Implementar IA generativa en la automatización de control de código fuente de nuestros ETLs ha optimizado nuestra eficiencia y reafirmado nuestro compromiso con la calidad”, comentó Darío Pereyra, Data & Modernization Assistant Manager de Toyota Latinoamérica y Caribe. 

Compartir: