Tutorial de OpenAI Codex: consulta de lenguaje natural a SQL con OpenAI Codex

¿Qué es OpenAI Codex?

OpenAI Codex es un modelo de inteligencia artificial desarrollado por OpenAI. Analiza el lenguaje natural y genera código en respuesta. Se utiliza para impulsar GitHub Copilot, una herramienta de autocompletado de programación. Codex es un descendiente del modelo GPT-3 de OpenAI, ajustado para su uso en aplicaciones de programación. OpenAI ha lanzado una API para Codex en beta cerrada.

Puede obtener acceso a la lista de espera del Codex aquí: https://openai.com/blog/openai-codex/ y ser aceptado suele tardar unos días.

La idea

La idea es generar una consulta SQL desde un lenguaje natural. Por ejemplo, si queremos obtener todos los usuarios mayores de 25 años, podemos escribir la siguiente oración:

Obtener todos los usuarios mayores de 25 años

También te puede interesarTutorial de OpenAI Whisper: Whisper – Transcripción y diarización (identificación del hablante)

Y el modelo generará la siguiente consulta SQL:

SELECCIONE * DE usuarios DONDE edad > 25

Esto nos permite escribir consultas SQL sin conocer la sintaxis SQL. Esto es muy útil para personas no técnicas que desean consultar una base de datos.

Empecemos

Asegúrate de tener acceso a Codex. Si no tiene acceso, puede obtener acceso a la lista de espera del Codex aquí: https://openai.com/blog/openai-codex/ y ser aceptado generalmente toma unos pocos días. Antes de escribir cualquier código, puede hacer algunas pruebas primero en el área de juegos de OpenAI: https://beta.openai.com/playground. Realmente puedo recomendarle que haga algunas pruebas primero, porque lo ayudará a comprender cómo funciona el modelo.

También te puede interesarTutorial de OpenAI Whisper: Cómo usar OpenAI Whisper

Primero, necesitamos instalar la biblioteca OpenAI Codex:

Puede encontrar la documentación completa de esta biblioteca aquí: https://github.com/openai/openai-python

Luego, necesitamos importar la biblioteca y configurar la clave API

Ahora, podemos comenzar a escribir algo de código. Comenzaremos creando una función que generará una consulta SQL desde un lenguaje natural. Usaremos el openai.Completion.create función para generar la consulta SQL. Pasaremos los siguientes parámetros:

También te puede interesarTutorial de OpenAI Whisper: Cómo usar Whisper para transcribir un video de YouTube
  • engine: El motor que se utilizará para generar la consulta SQL. Usaremos davinci-codex para este tutorial.
  • prompt: El lenguaje natural que se utilizará para generar la consulta SQL.
  • max_tokens: El número máximo de tokens que se generarán.
  • temperature: La temperatura del modelo. Cuanto mayor sea la temperatura, más aleatorio será el texto. Una temperatura más baja da como resultado un texto más predecible.
  • top_p: La probabilidad acumulada para el muestreo top-p. 1.0 significa que no hay restricciones. Un top_p más bajo da como resultado más finalizaciones aleatorias.
  • frequency_penalty: La probabilidad acumulada para el muestreo top-p. 1.0 significa que no hay restricciones. Un top_p más bajo da como resultado más finalizaciones aleatorias.
  • presence_penalty: La probabilidad acumulada para el muestreo top-p. 1.0 significa que no hay restricciones. Un top_p más bajo da como resultado más finalizaciones aleatorias.
  • stop: La secuencia de tokens que detendrá la generación.
  • Ahora, podemos probar nuestra función. Usaremos el siguiente aviso:

    Obtener todos los usuarios mayores de 25 años

    El modelo generará la siguiente consulta SQL:

    Ahora ponemos todo junto en un archivo y agregamos entrada a través de la consola.

    También te puede interesarTutorial de OpenAI Whisper: creación de la API de OpenAI Whisper en un contenedor Docker

    Ahora ejecute el archivo e ingrese su solicitud y recupere la consulta SQL.

    Conclusión

    En este tutorial, aprendimos cómo generar una consulta SQL desde un lenguaje natural usando OpenAI Codex. También aprendimos a usar la biblioteca OpenAI Codex. Puede continuar mejorando este proyecto agregando una base de datos y una interfaz web. También puede agregar más indicaciones a la solicitud para guiar al modelo en la dirección correcta y hacerlo más preciso. También puede agregar el esquema de su base de datos en el indicador para que sea más preciso. Por ejemplo como este:

    Gracias para leer. Si disfrutó de este tutorial, puede encontrar más y continuar leyendo en nuestra página de tutoriales: Fabian Stehle, científico de datos junior en New Native

    Scroll al inicio