
¿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
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.
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:
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.
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