このトピックでは、LangStudio を使用してインテリジェント SQL 生成アシスタントのアプリケーションフローを作成する方法について説明します。このアプリケーションフローは、データベーステーブルの基本情報を取得し、ユーザーの質問とテーブル情報を大規模言語モデル (LLM) に渡して SQL 文を生成し、その文を実行してクエリ結果を返します。このテンプレートは Alibaba Cloud RDS for MySQL をサポートしています。このテンプレートは、特定のユースケースに合わせてカスタマイズできます。
背景情報
現代のデータ駆動型環境において、データベースから迅速かつ正確に情報を抽出する能力は、多くのアプリケーションにとって極めて重要です。インテリジェント SQL 生成アシスタントのアプリケーションフローは、自然言語処理 (NLP) とデータベースクエリ機能を組み合わせることで、効率的でインテリジェントなソリューションを提供します。Alibaba Cloud RDS for MySQL と統合することで、このアプリケーションフローは、ユーザーが質問をするとデータベーステーブルの基本情報を取得します。その後、LLM を使用して対応する SQL クエリを生成し、Python ノードによって実行されてクエリ結果が返されます。この統合により、データクエリの精度と複雑なクエリの処理能力が向上します。また、ユーザーは自然言語を使用してデータベースと対話できるため、データ取得の効率と意思決定が向上します。LangStudio でこのテンプレートをカスタマイズして、金融、教育、医療など、迅速なデータクエリを必要とする分野の専門的なアプリケーションに適用できます。
前提条件
インテリジェント SQL 生成アシスタントのアプリケーションフローは Alibaba Cloud RDS for MySQL をサポートしています。まず、データベースを作成する必要があります。詳細については、「ApsaraDB RDS ユーザーガイド」をご参照ください。
1. (任意) LLM のデプロイ
インテリジェント SQL 生成アシスタントのアプリケーションフローには LLM サービスが必要です。OpenAI API をサポートする互換性のあるモデルサービスをお持ちの場合は、このステップをスキップして既存のサービスを使用できます。このガイドでは、DeepSeek-R1 モデルを例として使用します。[QuickStart] > [モデルギャラリー] に移動してモデルをデプロイできます。デプロイの詳細については、「DeepSeek-V3 と DeepSeek-R2 のワンクリックデプロイ」および「モデルのデプロイとトレーニング」をご参照ください。

2. 接続の作成
2.1. LLM サービス接続の作成
このガイドの LLM サービス接続は、[クイックスタート] > [モデルギャラリー] でデプロイされた Elastic Algorithm Service (EAS) サービスであるモデルサービスに基づいています。 他のタイプの接続に関する詳細については、「接続構成」をご参照ください。
LangStudio に移動し、ワークスペースを選択して、[LangStudio に入る] をクリックします。[接続] > [モデルサービス] タブで、[新規接続] をクリックして [汎用 LLM サービス] 接続を作成します。

次の表に、主要なパラメーターを示します。
パラメーター | 説明 |
名前 | モデルギャラリーからモデルをデプロイした後、モデル詳細ページでその名前を確認します。このページには、[モデルギャラリー] ページでモデルカードをクリックするとアクセスできます。詳細については、「接続の作成 - モデルサービス」をご参照ください。 |
サービスプロバイダー |
|
2.2. データベース接続の作成
[接続] > [データベース] タブで、[新規接続] をクリックして ApsaraDB RDS for MySQL 接続を作成します。

次の表に、主要なパラメーターを示します。
パラメーター | 説明 |
host/port | ホスト (内部エンドポイント) とポート (内部ポート) を取得するには、「インスタンスのエンドポイントとポートの表示と管理」をご参照ください。 |
database | 「データベースの作成」時に設定したデータベース名。 |
username/password | 「データベースアカウントの作成」時に設定したアカウントとパスワード。 |
3. アプリケーションフローの作成と実行
LangStudio に移動し、ワークスペースを選択して、[LangStudio に入る] をクリックします。次に、[アプリケーションフロー] タブで [アプリケーションフローを作成] をクリックして、インテリジェントな SQL 生成アシスタントアプリケーションフローを作成します。

ランタイムを起動します: [ランタイムの選択] をクリックし、ドロップダウンリストから既存のランタイムを選択します。利用可能なランタイムがない場合は、[LangStudio] ページの [ランタイム] タブで作成できます。注: [VPC] には、RDS for MySQL インスタンスの作成に使用した VPC を選択します。または、選択した VPC が RDS インスタンスの VPC に接続されていることを確認します。
重要Python ノードを解析したり、その他のツールを表示したりする前に、ランタイムが開始されていることを確認してください。
アプリケーションフローを開発します。

他の設定はデフォルトのままにするか、必要に応じてカスタマイズできます。主要なノードは次のように設定されます:
[テーブル作成 DDL の取得]:データベーステーブルの基本情報 (DDL 文) を取得して生成します。
connection_name:2.2. データベース接続の作成 ステップで作成した接続の名前を入力します。入力する名前が、作成した接続の名前と完全に一致することを確認してください。
[LLM] ノード:SQL コードを生成するために、このノードはユーザーの質問と DDL ノードからのデータベーステーブル情報を LLM に渡します。
[モデル設定]:2.1. LLM サービス接続の作成 ステップで作成した接続を選択します。
[チャット履歴]:チャット履歴を有効にするかどうかを指定します。この機能を有効にすると、過去の会話情報が入力変数として使用されます。
[SQL の実行]:LLM から返された SQL 文を実行し、クエリ結果を返します。
[connection_name]:2.2. データベース接続の作成 ステップで作成した接続の名前を入力します。入力する名前が、作成した名前と同一であることを確認してください。
各ノードコンポーネントの詳細については、「付録:組み込みコンポーネントの説明」をご参照ください。
デバッグ/実行: 右上隅の [実行] をクリックして、アプリケーションフローを開始します。 アプリケーションフローでよくあるランタイムの問題については、「よくある質問」をご参照ください。

トレースを表示します。生成された回答の下にある[トレースの表示]をクリックすると、トレース詳細またはトポロジーが表示されます。

4. アプリケーションフローのデプロイ
アプリケーションフローを EAS サービスとしてデプロイするには、アプリケーションフロー開発ページの右上隅にある[デプロイ]をクリックします。他のデプロイメントパラメーターは、デフォルト設定のままにするか、ビジネス要件に基づいて設定します。主要なパラメーターは次のとおりです。
[リソース情報] > [インスタンス]:サービスインスタンスの数を設定します。このトピックのデプロイはテスト目的のみであるため、インスタンス数は 1 に設定されています。本番環境では、単一障害点を回避するために複数のインスタンスを設定することを推奨します。
[VPC] > [VPC 設定]:RDS for MySQL インスタンスが配置されている VPC を選択するか、選択した VPC が RDS for MySQL インスタンスの VPC に接続されていることを確認します。
デプロイの詳細については、「アプリケーションフローのデプロイ」をご参照ください。
5. サービスの呼び出し
サービスがデプロイされると、PAI-EAS コンソールにリダイレクトされます。 [オンラインデバッグ] タブで、リクエストを設定して送信します。 リクエストボディのキーは、[チャット入力] フィールドと一致する必要があります。このフィールドは、アプリケーションフローの [開始ノード] にあります。 この Topic では、デフォルトのフィールドは question です。

API 呼び出しなどの他の呼び出しメソッドについては、「アプリケーションフローのデプロイ - サービスの呼び出し」をご参照ください。