Creación de Consultas SQL con Inteligencia Artificial

Clase 3 de 17Curso de Herramientas de Inteligencia Artificial para Equipos de Datos

Resumen

¿Cómo se pueden optimizar las consultas SQL usando inteligencia artificial?

El proceso de realizar consultas o queries SQL es esencial en el ámbito del análisis y la gestión de datos. Hoy en día, existe la posibilidad de optimizar esta tarea usando herramientas de inteligencia artificial como GitHub Copilot, ChatGPT u otros modelos de lenguaje. Estos sistemas son capaces de entender la estructura de una base de datos cuando se les proporciona el contexto adecuado, facilitando así la generación de consultas.

¿Cómo configurar el entorno para las consultas SQL asistidas por IA?

Para empezar a trabajar con inteligencia artificial en consultas SQL, es esencial configurar adecuadamente el entorno. Un IDE como Visual Studio Code es ideal para este propósito, y será necesario:

  1. Cargar la base de datos de ejemplo: Puedes encontrar la estructura de la base de datos utilizada como ejemplo en los recursos de la clase, la cual consiste en un modelo de ventas con varias tablas como OrderDetails, Orders, ProductDetails, entre otras.
  2. Plugins necesarios: Asegúrate de tener instalado el plugin de Postgres y el plugin de Copilot para Visual Studio Code.
  3. Estructura DDL previamente cargada: La definición de las tablas, a través de la estructura DDL, debe estar cargada para que las herramientas puedan generar de manera eficiente las consultas.

Con una correcta configuración del entorno, estarás listo para experimentar con la eficiencia que ofrecen estas tecnologías avanzadas.

¿Por qué es importante proporcionar el contexto adecuado al LLM?

Los modelos de lenguaje como Copilot o ChatGPT necesitan un contexto claro para generar consultas apropiadas. Al no ser intrínsecamente conscientes de las tablas, columnas o referencias, es responsabilidad del usuario proporcionarles dicho contexto. Por ejemplo, al especificar un query para obtener los cinco productos más vendidos por región, la inteligencia artificial puede generar diversas soluciones, pero es vital verificar su precisión y relevancia.

Ejemplo de consulta generada por Copilot

WITH RankedProducts AS (
  SELECT 
    productName, 
    RANK() OVER (PARTITION BY region ORDER BY quantitySold DESC) AS productRank
  FROM 
    ProductDetails
  JOIN
    Orders ON ProductDetails.productID = Orders.productID
)
SELECT * 
FROM RankedProducts
WHERE productRank <= 5;

La consulta anterior ilustra cómo se puede utilizar RANK() junto con PARTITION BY para obtener los cinco productos más vendidos por cada región. Si la herramienta genera una consulta incorrecta o ambigua, como el uso inadecuado de una columna, el usuario debe ajustar los detalles manualmente.

¿Cómo garantizar consultas adecuadas con otras herramientas de IA?

Además de Copilot, ChatGPT y otras herramientas de IA también pueden asistir en la creación de consultas SQL, siempre y cuando se les ofrezca el contexto necesario. Por ejemplo, al pedirle a ChatGPT que genere una consulta para mostrar detalles específicos de pedidos enviados más tarde que la fecha requerida, se logra obtener soluciones efectivas.

Ejemplo de consulta generada por ChatGPT

SELECT
  employeeID,
  orderID,
  customerID,
  productName,
  requiredDate,
  shippedDate
FROM 
  Orders
JOIN 
  ProductDetails ON Orders.productID = ProductDetails.productID
WHERE 
  shippedDate > requiredDate;

En este caso, la consulta efectivamente filtra los pedidos cuya fecha de envío es posterior a la fecha requerida, ayudando a identificar retrasos. Los modelos de IA ofrecen una descripción del flujo lógico, como la utilización de un JOIN o las condiciones WHERE, lo cual puede ser una guía instructiva para los usuarios.

¿Qué papel juegan los LLM en el equipo de datos?

Las herramientas de inteligencia artificial, como los modelos de lenguaje, son auxiliares poderosos que no tienen la intención de reemplazar a los expertos en datos, sino de complementarlos. Proveen alternativas y simplifican procedimientos, pero es esencial que el equipo de datos continúe evaluando y entendiendo las mejores prácticas y enfoques para realizar consultas adecuadas. La colaboración entre la experiencia humana y la potencia de estas herramientas puede llevar el análisis de datos a nuevos niveles. ¡Anímate a experimentar y explora los nuevos horizontes que la inteligencia artificial te ofrece en el mundo del data science!