MQL (мой язык запросов) является мощным инструментом для преобразования запросов естественного языка в исполняемые запросы SQL. Что круто, так это то, что кто -то может использовать его, даже не зная, как кодировать. Просто добавьте свою базу данных, подключив или загрузили схему в MQL, попросите запрос на вашем языке и получите SQL.
Убедитесь, что у вас установлен Docker.
Для начала клонировать этот репозиторий GIT:
git clone https://github.com/shurutech/mql Обновление сервера/dockerfile с вашим ключом OPENAI_API_KEY :
ENV OPENAI_API_KEY YOUR_TOKEN_HERE
Обновите Database_url в файле Server/.env в соответствии со следующими правилами:
Перейдите в папку репозитория и запустите следующую команду:
make install
После завершения установки вы можете получить доступ к приборной панели MQL по адресу: http: // localhost: 3000
При необходимости вы также можете перезапустить, чтобы отразить локальные изменения, если таковые имеются, используя:
make restart
Кроме того, вы можете прекратить локальную установку, используя:
make down
Кроме того, вы можете запустить все контейнеры, используя:
make up
Пользователь по умолчанию создается для входа в систему при запуске инструмента с помощью Docker.
Позаботьтесь о шагах ниже, если вы хотите сделать его вживую
По состоянию на текущую версию MQL предназначен для работы исключительно с PostgreSQL.
Это необходимые пакеты, которые необходимо установить для запуска проекта локально.
Питон
psycopg2
Узел
Postgresql 15
Расширение PGVector для PostgreSQL - PGVector
Запустите эти команды в вашем клиенте командной строки PostgreSQL
Создание роли PostgreSQL
Создайте роль PostgreSQL с разрешениями суперпользователя и возможности входа в систему:
CREATE ROLE < role_name > WITH superuser;
ALTER ROLE < role_name > WITH LOGIN PASSWORD ' password ' ;Создание баз данных
Создайте две базы данных, mql и mql_test , с роли shuru :
CREATE DATABASE mql WITH OWNER < role_name > ;
CREATE DATABASE mql_test WITH OWNER < role_name > ;Создание расширения
Чтобы создать vector расширение:
Подключиться с базой данных, используя:
c < databse_name >Создайте векторное расширение:
CREATE EXTENSION vector;Обновить эти значения на сервере/.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> " Если база данных будет размещена локально, то host будет localhost
Перейдите в папку репозитория и запустите команду в терминале
chmod +x ./setup.sh && ./setup.shПосле завершения установки вы можете получить доступ к приборной панели MQL по адресу: http: // localhost: 3000
Наш процесс тестирования включал в себя запуск 50 запросов естественного языка через платформу MQL, с такими ресурсами, как файл Elearning_schema, и CSV сопоставлений запросов, расположенных в нашей папке test_data. MQL достиг около 85% успеха , точно переведя 43 из 50 запросов. Однако при рассмотрении точности переводов около 74% (37 из 50) запросов были выполнены идеально, причем 6 запросов правильно интерпретировались, но в конце отсутствовали полуколон. Это оставило нас с 7 запросами, которые привели к ошибкам. Мы активно работаем над улучшениями, чтобы повысить как точность, так и полноту генерации синтаксиса SQL, и мы приветствуем вклад, чтобы помочь уточнить нашу платформу.
Мы планируем продолжить строительство после первоначального выпуска и рассчитываем на отзывы сообщества. На данный момент у нас есть следующие функции, запланированные для следующих выпусков.
Мы ценим вклад каждого разработчика и призываем вас поделиться своими идеями, улучшениями и исправлениями с нами. Чтобы обеспечить плавный процесс сотрудничества, пожалуйста, следуйте этим рекомендациям.
Прежде чем начать:
Сообщать об ошибках
Прежде чем сообщать об ошибке, пожалуйста:
Предлагая усовершенствования, мы любим получать предложения для улучшений! Пожалуйста:
Получить запросы , готовые внести код? Следуйте этим шагам:
Поведение мы стремимся предоставить гостеприимное и вдохновляющее сообщество для всех. Принимая участие в этом проекте, вы ожидаете, что наш кодекс поведения, который способствует уважению и сотрудничеству.