すべてのプロダクト
Search
ドキュメントセンター

Platform For AI:LangStudio と RAG に基づくインテント認識アプリケーションフローの構築

最終更新日:Apr 28, 2025

このドキュメントでは、LangStudio を使用して「インテント認識カスタマーサービス」アプリケーションフローを構築する方法について説明します。インテント認識と RAG 機能を統合することで、このアプリケーションフローにより、モデルはユーザーのインテントをインテリジェントに識別し、質問を処理する際にユーザーのニーズを迅速に分類および理解し、より効率的なカスタマーサービスを提供できます。開発者は、特定のシナリオの要件に合わせて、このテンプレートを柔軟に拡張およびカスタマイズできます。

背景情報

現代のカスタマーサービス分野では、「インテント認識カスタマーサービス」アプリケーションフローは、高度な自然言語処理技術とディープ ラーニング モデルを組み合わせて、よりインテリジェントで効率的なカスタマーサービス体験をユーザーに提供します。インテント認識と RAG 機能を統合することで、このソリューションはユーザーのニーズと質問を正確に理解し、事前定義されたナレッジベースから標準の回答を取得し、関連するソリューションを迅速に提供します。開発者は、Python を使用して開発を行い、実際のニーズに基づいて応答戦略を調整し、カスタマーサービスの精度とユーザーエクスペリエンスを向上させることもできます。このソリューションは、e コマース、銀行、電気通信など、効率的なカスタマーサービスが必要な分野で非常に優れたパフォーマンスを発揮します。開発者は、このアプリケーションフローテンプレートを柔軟に拡張およびカスタマイズして、さまざまなアプリケーションシナリオの要件をより適切に満たし、カスタマーエクスペリエンスを最適化し、サービス品質を向上させることができます。

前提条件

  • LangStudio ベクトルデータベースは、Faiss または Milvus ベクトルデータベースの使用をサポートしています。Milvus データベースを使用する場合は、最初に Milvus データベースを作成する必要があります

    説明

    Faiss は通常テスト環境で使用され、追加のデータベースを作成せずに使用できます。本番環境では、大規模データの処理をサポートする Milvus データベースを使用することをお勧めします。

  • RAG ナレッジベースコーパスは OSS にアップロードされています。

1. (オプション)LLM モデルと Embedding モデルのデプロイ

インテント認識アプリケーションフローには、LLM モデルサービスと Embedding モデルサービスが必要です。このセクションでは、ModelGallery を使用して必要なモデルサービスを迅速にデプロイする方法について説明します。要件を満たし、OpenAI API をサポートするモデルサービスが既にある場合は、この手順をスキップして、既存のサービスを直接使用できます。

スタートガイド > ModelGallery に移動し、次の 2 つのシナリオのモデルをデプロイします。デプロイの詳細については、「モデルのデプロイとトレーニング」をご参照ください。

  • シナリオ では、[大規模言語モデル] を選択します。この例では、デプロイに [DeepSeek-R1] を使用します。デプロイの詳細については、「DeepSeek-V3 モデルと DeepSeek-R1 モデルのワンクリックデプロイ」をご参照ください。

    説明

    デモとして、このドキュメントで作成したアプリケーション フローでは、インテント認識質問の書き換えユーザーの質問への回答 の 3 つのノードはすべて同じモデル接続を使用します。そのため、DeepSeek-R1 を 1 回デプロイするだけで済みます。実際の運用環境では、実際のニーズに基づいて適切なモデルを個別にデプロイし、対応する接続を作成して、システムの精度と効率的な運用を確保できます。

    image

  • シナリオ では、[埋め込み] を選択します。この例では、デプロイメントに [Bge-m3 General Vector Model] を使用します。

    image

2. 接続の作成

2.1 LLM サービス接続の作成

このドキュメントで作成される LLM モデルサービス接続は、[スタートガイド] > [モデルギャラリー] でデプロイされたモデルサービス(EAS サービス)に基づいています。他のタイプの接続と詳細な説明については、「サービス接続の構成」をご参照ください。

LangStudio に移動し、ワークスペースを選択して、[サービス接続の構成] > [モデルサービス] タブの [接続の作成] をクリックして、一般的な LLM モデルサービス接続を作成します。

image

次の表にパラメーターを示します。

パラメーター

説明

モデルの名前

Model Gallery を使用してモデルをデプロイする場合、モデルの詳細ページ(Model Gallery ページでモデルカードをクリック)でモデル名を取得する方法を確認できます。詳細については、「接続の作成 - モデルサービス」をご参照ください。

サービスプロバイダー

  • PAI-EAS モデルサービス: このドキュメントでは、PAI-EAS モデルサービスを使用します。この場合、1. (オプション)LLM モデルと Embedding モデルのデプロイ でデプロイされた LLM サービスを [EAS サービス] に選択できます。選択後、base_url と api_key が自動的に入力され、デプロイされた LLM の VPC エンドポイントとトークンに対応します。

  • サードパーティのモデルサービス: サードパーティのモデルサービスを使用します。たとえば、サードパーティが公式の DeepSeek サービスである場合、base_url は https://api.deepseek.com で、api_key は DeepSeek 公式 Web サイト から取得できます。

2.2 Embedding モデルサービス接続の作成

2.1 LLM サービス接続の作成 と同様に、一般的な Embedding モデルサービス接続を作成します。

image

3. ナレッジベースインデックスの作成

新しいナレッジベースインデックスを作成して、解析、チャンク化、およびベクトル化後にコーパスをベクトルデータベースに保存し、それによってナレッジベースを構築します。次の表に主要なパラメーターを示します。構成の詳細については、「ナレッジベースインデックスの作成」をご参照ください。

パラメーター

説明

基本構成

データソース OSS パス

前提条件 の RAG ナレッジベースコーパスの OSS パスを構成します。

出力 OSS パス

ドキュメントの解析によって生成された中間結果とインデックス情報を保存するパスを構成します。

重要

FAISS をベクトルデータベースとして使用する場合、アプリケーションフローは生成されたマニフェストを OSS に保存します。デフォルトの PAI ロール(アプリケーションフローの開発 - ランタイムの開始 で設定された [インスタンス RAM ロール])を使用する場合、アプリケーションフローはデフォルトでユーザーワークスペースのデフォルトストレージバケットにアクセスできます。したがって、このパラメーターは、現在の ワークスペースのデフォルトストレージパス がある OSS バケットの任意のディレクトリに構成することをお勧めします。カスタムロールを使用する場合は、カスタムロールに OSS アクセス権限を付与する必要があります(AliyunOSSFullAccess 権限を付与することをお勧めします)。詳細については、「RAM ロールへの権限の付与」をご参照ください。

Embedding モデルとデータベース

Embedding タイプ

[General Embedding Model] を選択します。

Embedding 接続

2.2 Embedding モデルサービス接続の作成 で作成した Embedding モデルサービス接続を選択します。

ベクトルデータベースタイプ

FAISS を選択します。このドキュメントでは、FAISS ベクトルデータベースを例として使用します。

4. アプリケーションフローの作成と実行

  1. LangStudio に移動し、ワークスペースを選択して、[アプリケーションフロー] タブの [アプリケーションフローの作成] をクリックして、[インテント認識カスタマーサービス] アプリケーションフローを作成します。

    image

  2. ランタイムの開始: 右上隅にある [ランタイムの作成] をクリックして構成します。注: Python ノードを解析したり、その他のツールを表示したりするには、ランタイムが開始されていることを確認する必要があります。

    image

    次の表にパラメーターを示します。

    Virtual Private Cloud (VPC) 構成: 3. ナレッジベースインデックスの作成 のベクトルデータベースタイプが Milvus の場合、Milvus インスタンスと同じ VPC を構成するか、選択した VPC と Milvus インスタンスがある VPC が相互接続されていることを確認する必要があります。ベクトルデータベースタイプが Faiss の場合は、VPC を構成する必要はありません。このドキュメントでは、FAISS ベクトルデータベースを例として使用します。

  3. アプリケーションフローを開発します。

    image

    アプリケーションフローの他の構成はデフォルトのままにするか、実際のニーズに合わせて構成します。主要なノード構成は次のとおりです。

    • インテント認識: 大規模言語モデルを使用してユーザー入力のインテントを分析し、認識結果に基づいて対応するブランチを実行します。

      • 複数インテント構成: 必要に応じてインテントを設定し、各インテントの説明が明確であり、異なるインテント間に意味の重複がないことを確認します。このドキュメントでは、デフォルトのインテント「Alibaba Cloud PAI プロダクトに関する質問」を例として使用します。

      • モデル設定: 2.1 LLM サービス接続の作成 で作成した接続を選択します。

      • 会話履歴: 履歴の会話情報を入力変数として使用するために会話履歴を有効にするかどうか。

    • 質問の書き換え: 大規模言語モデルを呼び出して、一致したインテント情報を書き換えます。

    • ナレッジベース検索: ナレッジベースからユーザーの質問に関連するテキストを取得します。詳細については、「ナレッジベースインデックスの使用」をご参照ください。

    • ユーザーの質問への回答: 大規模言語モデルを呼び出して、ユーザーの質問に回答します。

    • その他のインテント: より複雑なデータ処理ロジックを実装できるカスタム Python コード。

    • 変数集約: ユーザー設定のインテントとその他のインテントを統合して、どのブランチが実行されても、その結果を統一変数を使用して参照およびアクセスできるようにします。

    各ノードコンポーネントの詳細については、「付録: プリセットコンポーネントの説明」をご参照ください。

  4. デバッグ/実行: 右上隅にある [実行] をクリックして、アプリケーションフローの実行を開始します。アプリケーションフローランタイム中の一般的な問題については、「よくある質問」をご参照ください。

    image

  5. チェーンの表示: 生成された回答の下にある [チェーンの表示] をクリックして、トレースの詳細またはトポロジービューを表示します。

    image

5. アプリケーションフローのデプロイ

アプリケーションフロー開発ページで、右上隅にある [デプロイ] をクリックして、アプリケーションフローを EAS サービスとしてデプロイします。他のデプロイパラメーターはデフォルトのままにするか、実際のニーズに合わせて構成します。主要なパラメーター構成は次のとおりです。

  • リソースデプロイ > インスタンス数: サービスインスタンスの数を構成します。このデプロイはテスト目的のみであるため、インスタンス数は 1 に設定されています。本番ステージでは、単一障害点のリスクを軽減するために、複数のサービスインスタンスを構成することをお勧めします。

  • Virtual Private Cloud > VPC: 3. ナレッジベースインデックスの作成 のベクトルデータベースタイプが Milvus の場合、Milvus インスタンスと同じ VPC を構成するか、選択した VPC と Milvus インスタンスがある VPC が相互接続されていることを確認する必要があります。ベクトルデータベースタイプが Faiss の場合は、VPC を構成する必要はありません。このドキュメントでは、FAISS ベクトルデータベースを例として使用します。

デプロイの詳細については、「アプリケーションフローのデプロイ」をご参照ください。

6. サービスの呼び出し

デプロイが成功すると、PAI-EAS にリダイレクトされます。[オンラインデバッグ] タブで、リクエストを構成して送信します。リクエスト本文のキーは、アプリケーションフローの「開始ノード」の「会話入力」フィールドと一致している必要があります。このドキュメントでは、デフォルトフィールドの question を使用します。

image

image

その他の呼び出し方法(API 呼び出しなど)と詳細な説明については、「アプリケーションフローのデプロイ - サービスの呼び出し」をご参照ください。

参考資料