MQL (mi lenguaje de consulta) es una herramienta poderosa para transformar las consultas del lenguaje natural en consultas SQL ejecutables. Lo bueno es que cualquiera puede usarlo, incluso sin saber cómo codificar. Simplemente agregue su base de datos conectando o cargando esquema a MQL, solicite una consulta en su idioma y obtenga el SQL.
Asegúrese de tener instalado Docker.
Para comenzar, clona este repositorio de git:
git clone https://github.com/shurutech/mql Actualizar servidor/dockerfile con su tecla OPENAI_API_KEY :
ENV OPENAI_API_KEY YOUR_TOKEN_HERE
Actualice la base de datos_URL en el archivo servidor/.env de acuerdo con las siguientes reglas:
Navegue a la carpeta del repositorio y ejecute el siguiente comando:
make install
Una vez que se completa la instalación, puede acceder al tablero MQL en: http: // localhost: 3000
Si es necesario, también puede reiniciar para reflejar los cambios locales, si corresponde, usando:
make restart
Además, puede finalizar la configuración local usando:
make down
Además, puede iniciar todos los contenedores usando:
make up
Se crea un usuario predeterminado para un propósito de inicio de sesión al ejecutar la herramienta usando Docker.
Cuida los pasos a continuación si estás buscando hacerlo en vivo
A partir de la versión actual, MQL está diseñado para funcionar exclusivamente con PostgreSQL.
Estos son los paquetes requeridos que deben instalarse para ejecutar el proyecto localmente.
Pitón
psycopg2
Nodo
PostgreSQL 15
Extensión de PGVector para PostgreSQL - PGVECTOR
Ejecute estos comandos en su cliente de línea de comandos PostgreSQL
Creando el rol PostgreSQL
Cree un rol PostgreSQL con permisos de superusuario y capacidad de inicio de sesión:
CREATE ROLE < role_name > WITH superuser;
ALTER ROLE < role_name > WITH LOGIN PASSWORD ' password ' ;Creando las bases de datos
Cree dos bases de datos, mql y mql_test , con el rol shuru :
CREATE DATABASE mql WITH OWNER < role_name > ;
CREATE DATABASE mql_test WITH OWNER < role_name > ;Creando la extensión
Para crear la extensión vector :
Conéctese con la base de datos utilizando:
c < databse_name >Crea la extensión de vector:
CREATE EXTENSION vector;Actualizar estos valores en servidor/.env
DATABASE_URL = " postgresql://<role_name>:<password>@<host>:5432/mql "
TEST_DATABASE_URL = " postgresql://<role_name>:<password>@<host>:5432/mql_test "
OPENAI_API_KEY = " <key> " Si la base de datos se aloja localmente, entonces el host será localhost
Navegue a la carpeta del repositorio y ejecute el comando en terminal
chmod +x ./setup.sh && ./setup.shUna vez que se completa la instalación, puede acceder al tablero MQL en: http: // localhost: 3000
Nuestro proceso de prueba implicó ejecutar 50 consultas de lenguaje natural a través de la plataforma MQL, con recursos como un archivo Elearning_Schema y un CSV de asignaciones de consultas ubicadas en nuestra carpeta TEST_DATA. El MQL alcanzó una tasa de éxito del 85% , traduciendo con precisión 43 de 50 consultas. Sin embargo, al considerar la precisión de las traducciones, aproximadamente el 74% (37 de 50) de las consultas se ejecutaron perfectamente, con 6 consultas interpretadas correctamente pero faltaban un semi-colon al final. Esto nos dejó con 7 consultas que resultaron en errores. Estamos trabajando activamente en mejoras para mejorar tanto la precisión como la integridad de la generación de sintaxis SQL, y agradecemos contribuciones para ayudar a refinar nuestra plataforma.
Planeamos continuar construyendo después del lanzamiento inicial y esperamos los comentarios de la comunidad. A partir de ahora tenemos las siguientes características planificadas para los próximos lanzamientos.
Valoramos las contribuciones de cada desarrollador y lo alentamos a compartir sus ideas, mejoras y soluciones con nosotros. Para garantizar un proceso de colaboración suave, siga estas pautas.
Antes de comenzar:
Informes de informes
Antes de informar un error, por favor:
¡Sugeriendo mejoras, nos encanta recibir sugerencias para mejoras! Por favor:
¿Solicitar las solicitudes listas para contribuir con código? Sigue estos pasos:
Conducta Estamos comprometidos a proporcionar una comunidad acogedora e inspiradora para todos. Al participar en este proyecto, se espera que mantenga nuestro código de conducta, lo que promueve el respeto y la colaboración.