MQL(私のクエリ言語)は、自然言語クエリを実行可能なSQLクエリに変換するための強力なツールです。クールなのは、コーディングの方法を知らなくても、誰でも使用できるということです。スキーマをMQLに接続またはアップロードしてデータベースを追加し、言語のクエリを尋ねてSQLを取得します。
Dockerがインストールされていることを確認してください。
まず、このgitリポジトリをクローンします。
git clone https://github.com/shurutech/mql OPENAI_API_KEYキーを使用してサーバー/dockerfileを更新します:
ENV OPENAI_API_KEY YOUR_TOKEN_HERE
以下のルールに従って、サーバー/.ENVファイルでデータベース_URLを更新します。
リポジトリフォルダーに移動し、次のコマンドを実行します。
make install
インストールが完了したら、http:// localhost:3000でMQLダッシュボードにアクセスできます。
必要に応じて、次のことを使用して、ローカルの変更を反映するために再起動することもできます。
make restart
また、以下を使用してローカルセットアップを終了することもできます。
make down
また、以下を使用してすべてのコンテナを起動することもできます。
make up
Dockerを使用してツールを実行しながら、ログイン目的のためにデフォルトのユーザーが作成されます。
あなたがそれをライブにしようとしているなら、以下の手順を処理してください
現在のバージョンの時点で、MQLはPostgreSQLでのみ動作するように設計されています。
これらは、プロジェクトをローカルに実行するためにインストールする必要がある必要なパッケージです。
Python
psycopg2
ノード
postgreSQL 15
PostgreSQLのPGVector拡張 - pgvector
これらのコマンドをPostgreSQLコマンドラインクライアントで実行します
PostgreSQLロールの作成
スーパーユーザーの許可とログイン機能を使用して、PostgreSQLロールを作成します。
CREATE ROLE < role_name > WITH superuser;
ALTER ROLE < role_name > WITH LOGIN PASSWORD ' password ' ;データベースの作成
shuru役割で、 mqlとmql_test 2つのデータベースを作成します。
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> "データベースがローカルにホストされている場合、ホストはlocalhostになります
リポジトリフォルダーに移動し、端末でコマンドを実行します
chmod +x ./setup.sh && ./setup.shインストールが完了したら、http:// localhost:3000でMQLダッシュボードにアクセスできます。
テストプロセスには、ELARNING_SCHEMAファイルなどのリソースと、TEST_DATAフォルダーにあるクエリマッピングのCSVを使用して、MQLプラットフォームを介して50の自然言語クエリを実行することが含まれていました。 MQLは約85%の成功率を達成し、50のクエリのうち43を正確に翻訳しました。ただし、翻訳の精度を考慮すると、クエリの約74%(50のうち37)が完全に実行され、6つのクエリが正しく解釈されましたが、最後にセミコロンがありませんでした。これにより、エラーが発生する7つのクエリが残りました。私たちは、SQL構文生成の精度と完全性の両方を改善するために積極的に拡張に取り組んでおり、プラットフォームの改良を支援するための貢献を歓迎します。
最初のリリース後も構築を続ける予定で、コミュニティからのフィードバックを楽しみにしています。現在のところ、次のリリースに向けて以下の機能が計画されています。
私たちは各開発者の貢献を大切にし、あなたのアイデア、改善、修正を私たちと共有することをお勧めします。スムーズなコラボレーションプロセスを確保するには、これらのガイドラインに従ってください。
始める前に:
バグの報告
バグを報告する前に、
強化を提案する私たちは、機能強化のための提案を受けたいと思っています!お願いします:
コードを寄付する準備ができたリクエストをプルしますか?次の手順に従ってください:
行為私たちは、すべての人に歓迎的で刺激的なコミュニティを提供することにコミットしています。このプロジェクトに参加することにより、尊敬と協力を促進する行動規範を支持することが期待されています。