ChatGPTを搭載した革新的なSQLジェネレータ「Chat2Query」とは
人工知能を研究するOpenAIが提供するChatGPTとTiDBを組み合わせて開発した革新的な自然言語クエリジェネレータである「Chat2Query (チャット・ツー・クエリ) 」について紹介できることを大変嬉しく思います。Chat2Queryを使えば、もはやデータの抽出や集計のためにSQLの専門家である必要はありません。TiDB Cloud Serverless Tierにサインインし、ブラウザ上のウィンドウに質問を入力すると、あとはChat2Queryが強力なSQLクエリを生成して、必要な情報を取得します。
この記事では、Chat2Queryの始め方と、サンプルデータセットを通してより実践的な使用方法を紹介します。
単なるSQLジェネレータではないChat2Query
SQL言語に関する幅広い知識がなくてもSQLクエリを生成できるAI搭載のSQLジェネレータはいくつか存在します。 しかし、これらのツールは一般的に単純なクエリの生成に最も適しており、本番環境での使用はもちろんのこと、より複雑なタスクには適していないのが現状です。
Chat2Queryは、以下を搭載しています:
- 業界をリードする自然言語からコードへの処理モデル – OpenAIのGPT-3
- オンライントランザクションとオンライン分析機能を同じデータベースでサポートする分散型HTAPデータベースのTiDB
この2つの技術を用いることで、Chat2Queryは非常に複雑なクエリを処理でき、動的なデータセットにリアルタイムの分析を提供することができるのです。
使用例
以下の例では、Chat2Queryを使って異なるデータセットに対して2つのクエリを生成しています。
Carデータセットに対するクエリ

Web3データセットに対するクエリ

自分のデータセットを使ってChat2Queryをはじめる
Chat2Queryは、TiDB Cloud Serverless Tierに統合された機能です。 次の手順ではじめることができます:
1. TiDB CloudのServerless Tierクラスタを作成します。
a. アカウントでサインインします。新規ユーザーの場合は、アカウントをサインアップしてください。Serverless Tierクラスタは、20秒以内で自動的に作成されます。
b. Clustersページで、クラスタ名をクリックして、さきほど作成したServerless Tierクラスタに入ります。

2. 次に、利用するデータセットを準備します。サンプルデータセットを使ってすぐにChat2Queryを試すことも、自分のデータセットをChat2Queryで調べることもできます。
a.サンプルデータセットを使用する場合
i. Clustersページで、1のステップで作成したクラスタ名をクリックしてクラスタに入ります。
ii. 左側のナビゲーションパネルで、Chat2Queryをクリックして、クエリインターフェイスに入ります。デフォルトでは、3つのプリセットデータセットを持つsample_dataのデータベースに対してクエリを実行します。 – github_events, imdb_movie_ratings と sold_car_orders

b. 自分のデータセットを使用する場合
i. まずはじめに、対象となるデータセットを用意します。サンプルのデータセットがない場合、Kaggleという無料の公開データセットホスティングサイトから入手することができます。
ii. 左側のナビゲーションパネルで、[Import] をクリックし、インポートの種類を選択します。ローカルのCSVファイルからインポートするか、Amazon S3からインポートするか、どちらかを選択します。この記事では、CSVのEthereum/Tether暗号資産価格データセットであるeth-usdtを使用します。Amazon S3からインポートする方法については、Amazon S3 / GCSからTiDB Cloudへのインポートまたは移行を参照してください。
iii. インポートソースとターゲットを設定し、インポートを開始します。データの大きさによって、インポートにかかる時間は異なります。インポートが完了すると、インポート詳細ウィンドウが表示されます。
3. 最後に、Chat2Queryで分析します。
a. 左側のナビゲーションパネルで、[Chat2Query] をクリックします。正しいデータベースを使用していることを確認します。そうでない場合は、[Schemas] タブに移動し、対象となるデータベースをダブルクリックします。
b. Chat2Queryエディタに、”–” (二つのハイフン) を先頭に入力してあなたの質問や指示を書き、[Enter] をクリックします。AIがSQLでクエリを生成し始めます。
c. 画面の指示に従って、AIが生成したSQLを編集するか、右上の再生ボタンをクリックして実行します。
ページの下部に、クエリのログと結果がすぐに表示されます。出力例については、使用例をご参照ください。
セキュリティとプライバシーに配慮した設計
ユーザーデータのプライバシーとセキュリティは、当社の最優先事項です。私たちは、ユーザーが情報の保護について我々を信頼していることを理解しており、その責任を真剣に受け止めています。Chat2Queryは、TiDB Cloud上のクエリサービスとしてSQLを生成するためにユーザーのデータベーススキーマのみにアクセスしており、実際のデータにはアクセスしません。
留意点
Chat2Queryはまだ開発途中のプロジェクトであり、成長する余地がたくさんあります。使用する前に、注意して頂きたい留意点があります。
- 生成されたSQLは必ずしも100%正しいとは限らず、さらに微調整が必要な場合もあります。
- Chat2QueryのSQL文のサポートは限定的です。CREATE TABLEやDROP TABLEのような DDL文はまだサポートされていません。
今すぐChat2Queryをはじめる
Chat2Queryをはじめるには、こちらからアクセスしてください。Chat2Queryは現時点ではベータ版のため、今後さらに発展していきます。Twitter (英語) でフォローし、最新情報をご確認ください。また、日本語のTwitterでも最新情報を配信しておりますので、ぜひフォローをお願いします。