MySQLで使用可能なNL2SQL (2025/10/14)
MySQLで使用可能なNL2SQL (2025/10/14)
https://blogs.oracle.com/mysql/post/natural-language-to-sql-available-with-mysql
投稿者:Nipun Agarwal | Senior Vice President, MySQL Engineering
MySQL(AIオプション付き)およびMySQL HeatWaveクラウドサービス向けのNatural Language to SQL(NL2SQL)機能のリリースを発表いたします。自然言語インターフェースは現代のデータプラットフォームに不可欠であり、ユーザーがより迅速に情報を探索することを可能にします。NL2SQL機能は、自然言語ステートメントをSQLクエリに変換することで、データ分析を簡素化し、洞察を加速させ、データからより多くの価値を引き出します。
MySQL HeatWave のこの新しい機能は、構造化データへの自然言語アクセスを可能にし、自然言語でドキュメントをクエリするための MySQL および MySQL HeatWave の既存のサポートを補完します。そのため、自然言語を使用して構造化データと非構造化データの両方にアクセスできるようになります。
NL2SQL は、 MySQL HeatWave がデプロイされている OCI およびその他のクラウドのすべてのレルムで一般提供されており、MySQL AI リリースを通じてオンプレミスでも利用できます。
MySQL AI 機能の詳細については、 最新のアップデートをご覧ください。
NL2SQLはオンプレミスとクラウドで利用可能
自然言語インターフェースは、幅広いユーザーが企業データを活用するための鍵となります。お客様は、この機能を必要に応じて導入できます。
- MySQL AI を使用したオンプレミスで、小規模な自己管理型コンピューティング上で同じ機能をローカルに実行します。
- MySQL HeatWave を使用したクラウドでは、コストの削減、パフォーマンスの向上、スケーラビリティの向上、より高品質の翻訳を実現する大規模な LLM へのアクセスが実現します。
MySQLデータベースとの自然言語によるインタラクションを可能にすることで、ビジネスユーザー、データサイエンティスト、ドメインエキスパート、開発者などが分析タスクにアクセスできるようになります。エンタープライズデータとの自然言語によるインタラクションは、標準のMySQLクライアント、MySQL Shell VSコード拡張機能、Jupyter Notebook、MySQL Studio(MySQLの新しいビジュアルインターフェース)、単一のストアドプロシージャを介したSQL API、HeatWave RESTサービスなど、使い慣れたツールとインターフェース全体でサポートされています。これにより、お客様は非構造化テキスト(HeatWaveベクターストアを使用したRAG経由)と構造化データ(NL2SQL経由)の両方をクエリおよび分析できます。ユーザーエクスペリエンスはMySQL HeatWave(クラウド)とMySQL AI(オンプレミス)で一貫しており、アプリケーションをローカルで実行することも、MySQL HeatWaveサービスを利用することでコスト削減、パフォーマンス向上、大規模モデルへのアクセスを実現することもできます。
MySQL での自然言語から SQL へのエンドツーエンド
LLMは自然言語の質問をSQLに変換します。その結果をエンタープライズ規模で正確かつ信頼できるものにするために、MySQLは生成されたSQLを拡張、検証し、自動的に実行する一連のデータベース内ステップを追加します。
自然言語クエリごとに、MySQL は次の処理を実行します。
これらの機能を組み合わせることで、複雑なスキーマでより正確な SQL が実現し、反復処理が高速化されて手動編集が減り、完全に統合された使いやすいソリューションが実現します。
複数のインターフェースからNL2SQLにアクセスする
NL2SQL は複数のインターフェースからアクセスできるため、ユーザーは好みのツールで作業できます。
- プログラム統合のためのSQL API
- VS Code拡張機能を備えたMySQLシェル
- MySQLスタジオ
- MySQL HeatWave REST サービス
以下の例は、VSCodeワークフロー用のMySQL Shellプラグインで「\nl」のサポートが導入されたことを示しています。プレーンな言語で書かれたリクエストを入力すると、拡張機能がSQLを生成・実行し、SQLと結果セットの両方を表示します。これにより、サポートされている他のインターフェースと併用しながら、自然言語を使用して構造化データを高速かつ一貫して操作できるようになります。
MySQL ヒートウェーブ | MySQL AI |
SQLインターフェースは最下位レベルのAPIであり、あらゆる標準SQLツールからNL2SQLを正確かつ透過的に呼び出し、スクリプト、自動化、アプリケーションでパターンを再利用できるようにします。NL2SQLは単一のストアドプロシージャを介して呼び出すことができるため、クライアントは自然言語プロンプトを送信し、生成されたSQLを受け取り、オプションに基づいて実行して結果を返すことができます。
CALL sys.NL_SQL(input, @output, options)ここで、input は自然言語の質問、@output は結果を格納するユーザー定義のセッション変数、options はクエリ生成をカスタマイズするためのJSONオブジェクトです。options を使用すると、クエリ実行の制御、スキーマまたはテーブルメタデータの制限、使用する大規模言語モデルの指定、冗長性の調整、構文的に無効なSQLの再試行の有効化、テーブルおよび列のコメントの追加などが可能です。処理後、@output には生成されたSQL、検証結果、メタデータのコンテキストなどの重要な詳細情報が含まれます。
よく知られている AirportDBを用いて 、自然言語でデータを検索する方法を説明します。基本的な呼び出しは次のように実行できます。
CALL sys.NL_SQL("What is the total number of bookings priced over $200?", @output, NULL); +---------------------------------------------------------------------------+ | Executing generated SQL statement... | +---------------------------------------------------------------------------+ | SELECT COUNT(`booking_id`) FROM `airportdb`.`booking` WHERE `price` > 200 | +---------------------------------------------------------------------------+ +---------------------+ | COUNT(`booking_id`) | +---------------------+ | 32699080 | +---------------------+
これにより、関連するすべてのデータベース オブジェクトが自動的に識別され、生成された SQL ステートメントが実行されます。
まとめ
このブログでは、オンプレミスとクラウドの両方でMySQLのNatural Language to SQL(NL2SQL)サポートが利用可能になったことを発表しました。LLMによって生成されたNL2SQLは、MySQLのさまざまな技術によって拡張され、生成されるSQLの品質が向上しています。お客様は、構造化データと非構造化テキスト(RAG経由)の両方を自然言語で操作できます。NL2SQLは、プログラム用の単一のストアドプロシージャ、MySQL Shell、Jupyter Notebook、新しいMySQL Studioコンソール、MySQL HeatWave RESTサービスなど、複数のインターフェースからアクセスできます。オンプレミスでは、ユーザーは同じ機能をローカルコンピューティングで実行することも、コストを削減し、パフォーマンスを向上させ、より大規模なモデルを活用するためにクラウドに移行することもできます。この機能により、MySQL開発者の生産性が向上し、MySQLによるエンタープライズデータ分析がより充実したものになると考えています。
コメント
コメントを投稿