チュートリアル: Azure Container Apps 上の C# Web アプリにAzure AI 検索を追加する

Note

Azure AI 検索は、Azure ポータルREST APIおよびAzure SDKから使用できます。 また、Foundry IQ は、エンタープライズ コンテンツを、Microsoft Foundry ポータルのエージェントの再利用可能なアクセス許可に対応したナレッジ ベースに変換するマネージド ナレッジ レイヤーです。

このチュートリアルでは、書籍のカタログを検索し、web サイトをAzure Container Appsに展開する Web サイトを構築します。 デプロイでは、Azure AI 検索の既定の認証方法として、Azure Developer CLI (azd) とマネージド ID が使用されます。

このチュートリアルでは、次の操作を行います。

  • Azure AI 検索をデプロイし、Azure Developer CLI を使用してインデックスを自動シード処理します。
  • 検索クエリ、提案、ファセット、改ページ位置、ドキュメント参照を C# アプリに統合します。
  • 既定の認証方法としてマネージド ID を使用してAzure Container Appsにアプリをデプロイします。

サンプルの動作

このサンプル Web サイトでは、10,000 冊の書籍のカタログにアクセスできます。 検索バーにテキストを入力してカタログを検索できます。 テキストを入力しているとき、Web サイトによって検索インデックスの提案機能が使用され、テキストがオートコンプリートされます。

クエリが完了すると、Web サイトに書籍の一覧と詳細の一部が表示されます。 書籍を選択すると、その完全な詳細が検索インデックスに格納されます。

ブラウザー ウィンドウのサンプル アプリのスクリーンショット。

検索エクスペリエンスには次が含まれます。

  • 検索 - アプリケーションの検索機能を提供します。
  • Suggest - ユーザーが検索バーに入力した候補を提供します。
  • ファセットとフィルター - 作成者または言語でフィルター処理するファセット ナビゲーション構造を提供します。
  • ページ分割された結果 - 結果 をスクロールするためのページング コントロールを提供します。
  • ドキュメント参照 - ID でドキュメントを検索し、詳細ページのすべての内容を取得します。

サンプルの構成

サンプル コードに含まれるコンポーネントを次に示します。

アプリ 目的 GitHub リポジトリの場所
client 検索で書籍を表示する React アプリ (プレゼンテーション レイヤー)。 API を呼び出します。 /azure-search-static-web-app/client
api Azure Container Apps上のコンテナーでホストされる C# Azure Functions API (ビジネス レイヤー) は、.NET SDK を使用して Azure AI 検索 API を呼び出します。 /azure-search-static-web-app/api
bulk-insert .NETインデックスを作成し、ドキュメントを読み込むプロジェクトです。 azdデプロイでは、postprovision フックを介して自動的にこれを実行します。 /azure-search-static-web-app/bulk-insert
infra azdがAzure AI 検索、Azure Container Apps、およびサポート リソースをデプロイするために使用されるインフラストラクチャをBicepします。 Azure-Samples/azure-search-static-web-app

開発環境を設定する

ローカル開発環境に次のソフトウェアをインストールします。 azd up コマンドは、Azure AI 検索を含むすべてのAzure リソースをプロビジョニングするため、事前に作成する必要はありません。

このチュートリアルでは、Azure Functions API をローカルで実行しません。 ローカルで実行する場合は、Azure Functions Core Tools をインストールします

Git を使用して検索サンプルを複製する

ローカル複製からサンプルをデプロイできます。 azd up コマンドは、ローカル リポジトリからアプリケーションとインフラストラクチャ ファイルを読み取り、コンテナーをビルドし、Azureリソースをプロビジョニングして、クライアントと API をAzure Container Appsにデプロイします。

  1. Bash ターミナルで、サンプル アプリケーションをローカル コンピューターに複製します。

    git clone https://github.com/Azure-Samples/azure-search-static-web-app.git
    
  2. 同じ Bash ターミナルで、この検索例のリポジトリ ディレクトリに移動します。

    cd azure-search-static-web-app
    
  3. Visual Studio Code コマンド (code .) を使用して、リポジトリを開きます。 特に指定しない限り、Visual Studio Codeの残りのタスクを完了します。

    code .
    

次のステップ