Azure Logic Appsで使用するエージェント ワークフローのナレッジ ベースを作成する (プレビュー)

適用対象: Azure Logic Apps (Standard)

組織は、ドキュメント、スプレッドシート、API、および内部システムから非構造化データを生成します。 Azure Logic Appsでサービスとしてのナレッジ ベース (KBaaS) 機能を使用すると、このコンテンツを、エージェント ワークフロー内のエージェント がタスクを完了するために使用できる構造化された検索可能な knowledge ベースに変換できます。 ナレッジ ベースは、ドキュメントや特定のドメインに関連するファイルなどの関連ナレッジ ソースを整理する論理 コンテナー です。

たとえば、人事ポリシーと手順に関連するすべてのドキュメントを含むナレッジ ベースを作成できます。 ナレッジ ベースを作成すると、KBaaS によって、必要なAzure Cosmos DBデータベース、コンテナー、およびインデックス作成ポリシーが自動的に設定されます。 詳細については、「Azure Cosmos DB データベース、コンテナー、および項目を参照してください。

このガイドでは、 ナレッジ ベースの作成、ナレッジ ソースのアップロード、および標準エージェント ワークフローでエージェント ループで使用できるツールとしてナレッジ ベースを追加する方法について説明します。

スクリーンショットには、Azure portal、Standard ロジック アプリ リソース、展開された Agents サイドバー セクション、選択された [Knowledge base]、およびセットアップ オプションが表示されています。

制限事項

このプレビュー リリースには、次の制限があります。

  • このプレビューでは、次の機能がサポートされています。

    • ナレッジアーティファクトのソースタイプとしてのアップロード済みファイル。
    • DOC、DOCX、HTML、MD、PDF、PPT、PPTX、TXT、XLS、XLSX の形式のファイル。
    • 画像ではなく、ドキュメント内のテキストベースのコンテンツ解析。
    • カスタムのチャンク化ではなく、デフォルトのカスタムのチャンク化設定です。
  • ナレッジ ベース接続を作成した後は、接続と Azure OpenAI モデルの表示名のみを編集できます。 認証の種類やエンドポイント情報など、他の値を編集することはできません。

  • 現在、この機能ではAzure ポータルのみがサポートされています。

ナレッジベースの仕組み

KBaaS は、データ変換を簡略化し、Azure Cosmos DBと openAI Azureに対する抽象化レイヤーを提供します。これにより、カスタム Retrieval-Augmented 生成 (RAG) パイプラインを構築することなく、ワークフローで構造化された知識をより簡単に使用、処理、取得できます。

KBaaS には、次のパイプラインがあります。

  • インジェスト パイプライン: ドキュメントまたはナレッジ ソースをナレッジ ベースにアップロードすると、サービスはコンテンツを自動的に解析、チャンク、集計、ベクター化します。 その後、サービスは結果をAzure Cosmos DBに格納します。

  • Retrieval パイプライン: エージェント ループがナレッジ ベースに対してクエリを実行すると、サービスは必要に応じてクエリを書き換え、ベクター表現を生成し、Azure Cosmos DBに対してセマンティック検索を実行し、応答生成のために最も関連性の高いチャンクを大規模言語モデル (LLM) に返します。

前提条件

認証

KBaaS 機能は、Microsoft Entra ID 管理 ID または API キーを使用した認証をサポートします。 可能であれば、最適で優れたセキュリティ のためにマネージド ID を設定して使用 します。 資格情報、シークレット、またはアクセス キーを手動で指定して管理する必要はありません。

API キーを使用する場合は、資格情報、シークレット、アクセス キー、接続文字列、証明書、サムプリントなどの機密データや個人データを、利用可能またはサポートされている最高レベルのセキュリティで厳重に保護してください。 Microsoft Entra IDとAzure Key Vaultを使用して、このような情報を安全に格納します。 この情報をハードコーディングしたり、他のユーザーと共有したり、他のユーザーがアクセスできる場所でプレーンテキストで保存したりしないでください。 シークレットが侵害された場合に備えて、シークレットをローテーションまたは取り消す計画を設定します。

詳細については、次のリソースを参照してください。

1: ナレッジ ベース接続を作成する

ナレッジ ベース接続を作成するには、次の手順に従って、Cosmos データベースと OpenAI リソース モデルAzure関連付けます。

1a: Cosmos データベース接続を設定する

  1. Azure portal で、Standard ロジック アプリ リソースを開きます。

  2. ロジック アプリのサイドバーの [ エージェント] で、[ ナレッジ ベース] を選択します。

  3. [ ナレッジ ベース ] ページで、[ 設定] を選択します。

  4. [ セットアップ ] ウィンドウの [ 基本 ] タブで、次の情報を指定します。

    パラメーター Required 説明
    表示名 はい ナレッジベースの接続に使用する、人間が読みやすい名前。 取得アクションが正しい接続を関連付けることができるように、作成する予定のナレッジ ベースと同じ名前を使用します。
    認証の種類 はい キーベース または マネージド サービス ID
    Subscription はい Azure サブスクリプション。
    データベース はい あなたのCosmos データベース。
    URL エンドポイント はい データベースの選択により、この値が自動的に設定されます。
    はい [キーベースの認証] を選択した場合にのみ使用できます。 データベースの選択により、この値が自動的に設定されます。
  5. 完了したら、次へを選択します。

1b: Azure OpenAI リソース接続を設定する

  1. [ モデル ] タブで、次の情報を指定します。

    パラメーター Required 説明
    認証の種類 はい URL とキーベースの認証 または マネージド サービス ID
    Subscription はい Azure サブスクリプション。
    Azure OpenAI リソース はい あなたの Azure OpenAI リソース。
    API エンドポイント はい Azure OpenAI リソースの選択により、この値が自動的に設定されます。
    API キー はい URL とキーベースの認証を選択した場合にのみ使用できます。 Azure OpenAI リソースの選択により、この値が自動的に設定されます。
    補完モデル はい Azure OpenAI リソースにデプロイされた完了モデルの表示名を入力します。
    埋め込みモデル はい Azure OpenAI リソース用にデプロイされた埋め込みモデルの表示名を入力します。
  2. 完了したら、[作成] を選択します。

2: ナレッジ アーティファクトを追加

ナレッジ ベース接続を作成したら、ナレッジ ベースでナレッジ アーティファクトとして使用するソース情報ファイルを追加します。

  1. Azure portal で、Standard ロジック アプリ リソースを開きます。

  2. ロジック アプリのサイドバーの [ エージェント] で、[ ナレッジ ベース] を選択します。

  3. ファイルを追加する前にグループを作成する場合は、[ ナレッジ ベース ] ページのツール バーで [ 新規>新しいグループの作成] を選択し、プロンプトに従ってグループを作成します。

  4. [ ナレッジ ベース ] ページで、[ ファイルの追加] を選択します。 または、ページ ツール バーの [ 新規>ファイルの追加] を選択します。

  5. [ ファイルの追加 ] ウィンドウで、次のタスクを実行します。

    1. [ グループ ] セクションで、次の情報を入力します。

      パラメーター Required 説明
      Name はい ナレッジ ベース内のファイルを整理するグループの名前。 新しい名前を入力するか、既存のグループを選択します。
      Description いいえ グループに関するオプションの説明。
    2. [ ファイルの追加 ] セクションで、[参照] を選択 してアップロードするか、ファイルをグループにドラッグ アンド ドロップします。 ファイルごとに、次の情報を入力します。

      パラメーター Required 価値 説明
      Name はい < source-name> ナレッジ ソースとしてのファイルの名前 (たとえば、 HRPolicyDocument)。
      Description いいえ < source-description> ナレッジ ソースとしてのファイルの説明 (省略可能)。
  6. 完了したら、[追加] を選択 します

    KBaaS は、次の Cosmos DB コンテナーを作成します。

    コンテナー Purpose
    KnowledgeHubs ナレッジ ベースのメタデータを格納します。
    KnowledgeArtifacts ソース メタデータとソース ドキュメント参照を格納します。
    KnowledgeArtifactChunks フルテキスト ドキュメント チャンクを格納します。
    KnowledgeArtifactChunkSummaries セマンティック検索用のベクター埋め込みを含む集計チャンクを格納します。

    KBaaS は、アップロードの進行状況を追跡するための操作 ID を持つ 202 Accepted 応答を返します。

    アップロード プロセス中、KBaaS は、ベクター化されたコンテンツを解析、チャンク、集計、埋め込み、および Cosmos DB コンテナーに格納する操作を実行します。 プロセスが完了すると、結果に基づいてソースの状態が [完了] または [失敗] に変わります。

  7. Azure ポータルで、または操作 ID を使用して、アップロードの状態を監視します。

  8. KBaaS が完了したら、次のセクションに進み、エージェント の標準ワークフローで使用するエージェント ループのツールとしてナレッジ ベースを追加できます。

3: ナレッジ ベースをツールとして追加する

エージェント ループにナレッジ ベースを追加して、エージェント標準ワークフローのツールとして使用できるようになりました。 エージェント ループは、ナレッジ ベースに対して自動的にクエリを実行し、アップロードしたドキュメントから意味的に関連する情報を取得します。

  1. ナレッジ ベースを含む同じ Standard ロジック アプリで、デザイナーでエージェント ワークフローを開き、目的のエージェント ループを選択します。

  2. エージェント情報ウィンドウの [ナレッジ ベース ] セクションで、[ 作成] を選択します。

  3. [ 接続の作成 ] ウィンドウの [ソース ] ボックスの一覧から、ナレッジ ベースを選択します。

  4. その他のファイルをナレッジ ベースにアップロードするには、[ + アップロード] を選択します。

ナレッジ ベースとソースを管理する

ナレッジ ベースまたはソースを一覧表示、表示、削除するには、Azure ポータルまたは REST API を使用します。

すべてのナレッジ ベースを一覧表示する

  1. Azure portal で、Standard ロジック アプリ リソースを開きます。

  2. ロジック アプリのサイドバーの [ エージェント] で、[ ナレッジ ベース] を選択します。

または、次の REST API 呼び出しを行います。

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{logicAppName}/hostruntime/runtime/webhooks/workflow/api/management/knowledgehubs

特定のナレッジ ベースを表示する

Azure ポータルの Knowledge base ページで、ナレッジ ベース名を選択します。

または、次の REST API 呼び出しを行います。

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{logicAppName}/hostruntime/runtime/webhooks/workflow/api/management/knowledgehubs/{knowledgeBaseName}

応答には、ナレッジ ベース情報、関連付けられているソースの一覧、およびそれらのアップロード状態が含まれます。

ナレッジ ベースのソースを一覧表示する

Azure ポータルで、ナレッジ ベースを選択してソースを表示します。

または、次の REST API 呼び出しを行います。

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{logicAppName}/hostruntime/runtime/webhooks/workflow/api/management/knowledgehubs/{knowledgeBaseName}/knowledgeArtifacts

ナレッジ ソースを削除する

この操作により、ソース メタデータ、フルテキスト チャンク、およびベクター埋め込みを Cosmos DB から削除します。 サービスは、削除の進行状況を追跡するための操作 ID を含む 202 Accepted 応答を返します。

  1. Azure ポータルで、ナレッジ ベースを選択してソースを表示します。

  2. ソースを選択します。 ツール バーで、削除を選択します。

または、次の REST API 呼び出しを行います。

DELETE https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{logicAppName}/hostruntime/runtime/webhooks/workflow/api/management/knowledgehubs/{knowledgeBaseName}/knowledgeArtifacts/{artifactName}

ナレッジ ベースを削除する

この操作により、ナレッジ ベースと関連するソース、チャンク、およびサマリーが Cosmos DB から削除されます。

  1. Azure ポータルで、ナレッジ ベースを選択します。

  2. ツール バーで、削除を選択します。

または、次の REST API 呼び出しを行います。

DELETE https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{logicAppName}/hostruntime/runtime/webhooks/workflow/api/management/knowledgehubs/{knowledgeBaseName}