次の方法で共有


Fabric データ エージェントを作成する

Microsoft Fabric のデータ エージェントを使用すると、lakehouses、ウェアハウス、Power BI セマンティック モデル、KQL データベース、オントロジー、Microsoft Graph に格納されたデータに関する質問に答える会話型 AI エクスペリエンスを Microsoft Fabric 内で作成できます。 同僚は、AI の専門家でなくても、またはデータに深く精通していない場合でも、プレーンな英語で質問し、データドリブンの回答を受け取ることができます。

前提条件

認証とトークン

Fabric データ エージェントを使用するために、Azure OpenAI キーまたはアクセス トークンを作成または指定する必要はありません。 Fabricは、Microsoftマネージド Azure OpenAI Assistant を使用し、自動的に認証を処理します。

  • データ アクセスは、Microsoft Entra IDユーザー ID とワークスペース/データのアクセス許可で実行されます。 エージェントはスキーマを読み取り、アクセス権がある場合にのみ SQL/DAX/KQL を実行します。 ほとんどのデータ ソースはワークスペースのアクセス許可を尊重しますが、データ エージェントを介したPower BIセマンティック モデルの対話は、モデル レベルの読み取りアクセス許可によって管理され、ワークスペース ロールメンバーシップは必要ありません。
  • Power BIセマンティック モデルをデータ ソースとして追加するには、そのモデルに対する読み取りアクセス許可が必要です (書き込みは必要ありません)。 読み取りアクセスは、アクセスできるソースに対して質問する場合にも十分です。 セマンティック モデルのアクセス許可の詳細については、「 データセットとセマンティック モデルのセキュリティ」を参照してください。 データ エージェントの使用では、クエリには読み取りアクセス許可で十分です。書き込みは、セマンティック モデルを変更したり、PREP for AI などの機能を有効にしたりする場合にのみ必要です。
  • 組織で F SKU ではなく容量あたりの Power BI Premium (P1 以上) 容量を使用している場合は、その容量でMicrosoft Fabricが有効であることを確認します。
  • 製品内チャット エクスペリエンスでは、サービス プリンシパルと API トークンは必要ありません。 サービス プリンシパルを使用した自動化は別のシナリオであり、ここでは説明しません。

セキュリティとガバナンス

Fabricデータ エージェントは、Microsoft Purviewガバナンス ポリシーを遵守します。 Purview ポリシーがデータ ソースへのアクセスを制限する場合 (たとえば、アクセス制御や秘密度ラベルを使用)、エージェントはユーザー クエリを処理するときにこれらの制限を尊重します。

拡張送信アクセス保護は、エージェント操作に適用されます。 エージェントからの送信接続は、Fabric管理ポータルで構成されたテナントのネットワークとアクセス規則の対象となります。 管理者は、アクセスが許可されている外部エンドポイント エージェントを制御できます。

データ エージェントを使用したセマンティック モデルのアクセス許可

Fabric データ エージェントを介してPower BIセマンティック モデルを操作するには、セマンティック モデルに対する読み取りアクセス許可のみが必要です。 ワークスペース アクセス (メンバーロールまたは共同作成者ロール) とビルドアクセス許可は、エージェントにモデルを追加したり、エージェントを介して質問したりするために必要ありません。 この例外は、データ エージェントの対話にのみ適用されます。ただし、他のエントリポイント(例えば、Excelでの分析や直接レポートを作成する場合)では、引き続きビルド権限が必要な場合があります。

書き込みアクセス許可は、セマンティック モデルを変更したり、Prep for AI などの機能を使用したりするためにのみ必要です。

テナント間データ アクセス

ワークスペースに、OneLake 外部データ共有を介して別のテナントから共有されたデータが含まれている場合、Fabric データ エージェントは、共有の受け入れ時に作成された OneLake ショートカットを使用してそのデータに対してクエリを実行できます。 追加の認証構成は必要ありません。アクセスは、既存のEntra ID ID とワークスペースのアクセス許可で実行されます。 コンシューマー テナントのガバナンス ポリシーは、すべての共有データに適用されます。

Fabric データ エージェントを作成して使用するためのエンドツーエンドのフロー

このセクションでは、FabricでFabric データ エージェントを作成、検証、共有し、使用できるようにアクセスできるようにする主な手順について説明します。 エージェントは、 OneLake のショートカットテナント間共有によってサポートされるテーブルを含む、OneLake の管理されたライブ データに対して動作します。

このプロセスは簡単で、Fabricデータ エージェント リソースのテストを数分で開始できます。

新しいFabric データ エージェントを作成する

新しいFabric データ エージェントを作成するには、まずワークスペースに移動し、+ 新しい項目 ボタンを選択します。 [すべてのアイテム] タブで、Fabric データ エージェント を検索して、次のスクリーンショットに示すように適切なオプションを見つけます。

Fabric データ エージェントの作成を示すスクリーンショット.

選択すると、次のスクリーンショットに示すように、Fabric データ エージェントの名前を指定するように求められます。

Fabricデータエージェントに名前を指定する方法を示すスクリーンショット

Fabric データ エージェントの名前付けに関するビジュアル ガイドについては、提供されているスクリーンショットを参照してください。 名前を入力したら、構成に進み、Fabricデータ エージェントを特定の要件に合わせます。

データを選択する

Fabric データ エージェントを作成した後、レイクハウス、ウェアハウス、Power BI セマンティック モデル、KQL データベース、オントロジ、Microsoft Graphなど、最大 5 つのデータ ソースを任意の組み合わせ (合計 5 つまで) で追加できます。 たとえば、5 つのPower BIセマンティック モデル、または 2 つのPower BIセマンティック モデル、1 つの lakehouse、1 つの KQL データベースを追加できます。

OneLake カタログには、 OneLake ショートカットを使用して公開されるテーブルを含めることができます。 Fabricデータ エージェントは、ワークスペースにデータをコピーすることなく、これらのショートカット ベースのテーブルに対して直接クエリを実行できます。

Fabric データ エージェントを初めて作成し、名前を指定すると、OneLake カタログが自動的に表示され、データ ソースを追加できます。 データ ソースを追加するには、次の画面に示すようにカタログからデータ ソースを選択し、[ 追加] を選択します。 各データ ソースを個別に追加する必要があります。 たとえば、レイクハウスを追加し、[ 追加] を選択して、別のデータ ソースの追加に進むことができます。 データ ソースの種類をフィルター処理するには、フィルター アイコンを選択し、目的の種類を選択します。 データ ソースの種類でフィルター処理すると、 テナント間のデータ共有を通じて組織の境界を越えて共有されるアイテムなど、ソースをより簡単に見つけることができます。

データ ソースを追加すると、Fabric データ エージェント ページの左側のウィンドウの Explorer に、選択した各データ ソースの使用可能なテーブルが設定されます。このチェック ボックスを使用すると、次のスクリーンショットに示すように、テーブルを AI で使用したり使用できないようにしたりできます。

データ ソースを追加する方法を示すスクリーンショット。

データ ソースとしてPower BIセマンティック モデルを追加するには、読み取りアクセス許可のみが必要です。 ビルドアクセス許可は必要ありません。また、データ エージェント経由でセマンティック モデルを使用する場合、ユーザーはセマンティック モデルが存在するワークスペースにアクセスする必要はありません。 書き込みアクセス許可は、セマンティック モデルを変更したり、Prep for AI などの機能を使用したりするためにのみ必要です。

データ ソースを追加するには、Fabric データ エージェント ページの左側のウィンドウで Explorer に移動し、次のスクリーンショットに示すように + データ ソース を選択します。

データ ソースをさらに追加する方法を示すスクリーンショット。

OneLake カタログが再び開き、必要に応じてさらにデータ ソースをシームレスに追加できます。

ヒント

テーブルと列の両方にわかりやすい名前を使用してください。 SalesData という名前のテーブルは TableAよりも意味があり、ActiveCustomerIsCustomerActive などの列名は C1ActCuよりも明確です。 わかりやすい名前は、AI がより正確で信頼性の高いクエリを生成するのに役立ちます。

質問する

データ ソースを追加し、各データ ソースの関連テーブルを選択したら、質問を開始できます。 システムは、次のスクリーンショットに示すように質問を処理します。

Fabric データ エージェントの質問を示すスクリーンショット.

次の例のような質問も機能します。

  • "2023 年のカリフォルニアでの売上合計はどれくらいですか?"
  • 「定価が最も高い上位 5 つの製品と、そのカテゴリは何ですか?
  • "一度も売れたことのない品目で最も高価なものは何ですか?"

このような質問は、システムが構造化クエリ (T-SQL、DAX、または KQL) に変換し、データベースに対して実行し、格納されたデータに基づいて具体的な回答を返すことができるためです。

ただし、次のような質問は対象外です。

  • "2024 年第 2 四半期に工場の生産性が低下しているのはなぜですか?"
  • "売上が急増している根本原因は何ですか?"

これらの質問は、データベースで直接使用できない複雑な推論、相関分析、または外部要因を必要とするため、現在は範囲外です。 現在、Fabric データ エージェントでは、高度な分析、機械学習、因果推論は実行されません。 ユーザーのクエリに基づいて構造化データを取得して処理するだけです。

質問すると、Fabric データ エージェントは、Azure OpenAI Assistant API を使用して要求を処理します。 フローは次の方法で動作します。

ユーザーの資格情報を使用してスキーマにアクセスする

システムはまず、ユーザーの資格情報を使用してデータ ソースのスキーマ (lakehouse、warehouse、PBI セマンティック モデル、KQL データベース、オントロジなど) にアクセスします。 これにより、ユーザーが閲覧権限を持つデータ構造情報がシステムによって取得されます。

プロンプトの作成

ユーザーの質問を解釈するために、システムは次を組み合わせます。

  1. ユーザー クエリ: ユーザーが提供する自然言語の質問。
  2. スキーマ情報: 前の手順で取得したデータ ソースのメタデータと構造の詳細。
  3. 例と手順: Fabric データ エージェントの設定時に提供される定義済みの例 (例: サンプルの質問と回答) または具体的な手順。 これらの例と手順は、AI の質問に対する理解を改善し、AI がデータと対話する方法をガイドするのに役立ちます。

この情報はすべて、プロンプトを作成するために使用されます。 このプロンプトは、Azure OpenAI Assistant API への入力として機能します。これは、Fabric データ エージェントの基になるエージェントとして動作します。 これは基本的に、クエリの処理方法と生成する回答の種類について、Fabric データ エージェントに指示します。

クエリのニーズに基づくツールの呼び出し

エージェントは、構築されたプロンプトを分析し、呼び出して回答を取得するツールを決定します。

  • SQL への自然言語 (NL2SQL): データがレイクハウスまたはウェアハウスに存在する場合に SQL クエリを生成するために使用されます
  • 自然言語から DAX (NL2DAX): Power BI データ ソースのセマンティック モデルと対話する DAX クエリを作成するために使用されます
  • 自然言語から KQL (NL2KQL): KQL データベース内のデータにクエリを実行する KQL クエリを作成するために使用されます。 NL2KQL では、選択したデータベースで使用できる KQL ユーザー定義関数 (UDF) を使用できます。
  • Microsoft Graph: Microsoft Graphを介してアクセスできる組織データのクエリに使用されます

選択したツールは、Fabric データ エージェントの基になるエージェントが提供するスキーマ、メタデータ、コンテキストを使用してクエリを生成します。 その後、ツールはクエリを検証し、セキュリティ プロトコルと独自の責任ある AI (RAI) ポリシーに対する適切な書式設定とコンプライアンスを確保します。

応答の構築

Fabric データ エージェントの基になるエージェントがクエリを実行し、応答が適切に構造化され、書式設定されていることを確認します。 エージェントには、多くの場合、回答をわかりやすいものにするために追加のコンテキストが含まれています。 最後に、次のスクリーンショットに示すように、回答が会話インターフェイスでユーザーに表示されます。

Fabric data agent による質問に対する回答を示すスクリーンショット

エージェントは、結果と、最終的な回答を得るために実行した中間ステップを提示します。 このアプローチにより、透明性が向上し、必要に応じてこれらの手順を検証できます。 次のスクリーンショットに示すように、ユーザーはドロップダウンを展開して、Fabric データ エージェントが回答を取得するために実行したすべての手順を表示できます。

Fabricデータエージェントが実行した手順を示すスクリーンショットです。

さらに、Fabric データ エージェントは、対応するデータ ソースのクエリに使用される生成されたコードを提供し、応答がどのように構築されたかについての詳細な分析情報を提供します。

これらのクエリは、データのクエリ専用に設計されています。 データの整合性を保護するために、データの作成、データの更新、データの削除、あらゆる種類のデータ変更を伴う操作は許可されません。

次のスクリーンショットに示すように、いつでも [ チャットのクリア ] ボタンを選択してチャットをクリアできます。

[チャットのクリア] 機能が強調表示されているスクリーンショット。

チャットのクリア機能は、すべてのチャット履歴を消去し、新しいセッションを開始します。 チャット履歴を削除すると、その履歴を取得することはできません。

データ ソースを変更する

データ ソースを削除するには、Fabric データ エージェント ページの左側のウィンドウにある Explorer のデータ ソース名にカーソルを合わせて、3 点メニューが表示されます。 3 つのドットを選択してオプションを表示し、次のスクリーンショットに示すように [削除 ] を選択してデータ ソースを削除します。

データ ソースを削除または更新する方法を示すスクリーンショット。

または、データ ソースが変更された場合は、次のスクリーンショットに示すように、同じメニュー内で [最新の情報に更新 ] を選択できます。

データ ソースを更新する方法を示すスクリーンショット。

これにより、Fabric データ エージェントと最新のデータの同期を維持するために、データ ソースの更新プログラムがエクスプローラーに反映され、正しく設定されます。

Fabric データ エージェントの構成

Fabric データ エージェントには、組織のニーズに合わせてデータ エージェントの動作Fabricカスタマイズできる構成オプションがいくつか用意されています。 Fabric データ エージェントがデータを処理して提示する場合、これらの構成により、結果をより詳細に制御できる柔軟性が提供されます。

指示を提供する

AI の動作をガイドするための具体的な手順を指定できます。 Fabric データ エージェントの指示ウィンドウで追加するには、次のスクリーンショットに示すように Data エージェント命令 を選択します。

[データ エージェントの指示] ボタンの選択を示すスクリーンショット。

ここでは、クエリの処理方法について AI に指示するために、英語のプレーンテキストで最大 15,000 文字を記述できます。

たとえば、特定の種類の質問に使用する正確なデータ ソースを指定できます。 データ ソースの選択肢の例として、AI に使用を指示する方法が含まれる場合があります

  • 財務クエリのPower BIセマンティック モデル
  • 販売データ用のレイクハウス
  • 運用メトリック用の KQL データベース

これらの手順により、ガイダンスと質問のコンテキストに基づいて、SQL、DAX、KQL のいずれであっても、AI によって適切なクエリが生成されます。

AI リソースで特定の単語、頭字語、または用語の解釈が一貫して間違っている場合は、このセクションで明確な定義を指定して、AI がそれらを正しく理解して処理できるようにすることができます。 これは、ドメイン固有の用語や一意のビジネス用語に特に役立ちます。

これらの手順を調整し、用語を定義することで、データ戦略とビジネス要件に完全に合わせて、正確で関連性の高い分析情報を提供する AI の能力を強化します。

クエリの例を指定する

サポートされている各データ ソース (lakehouse、warehouse、KQL データベース) に合わせて調整されたサンプル クエリを提供することで、応答の精度を向上させることができます。 このアプローチは、生成 AI の few-shot learning と呼ばれ、Fabric データ エージェントをガイドして、期待に沿った応答を生成するのに役立ちます。

サンプルクエリ/質問ペアを AI に提供すると、将来の質問に回答するときにこれらの例が参照されます。 新しいクエリを最も関連性の高い例と照合することで、AI はビジネス固有のロジックを組み込み、よく寄せられる質問に効果的に対応できます。 この機能により、個々のデータ ソースの微調整が可能になり、より正確な SQL または KQL クエリが生成されます。

Power BIセマンティック モデル データでは、現時点ではサンプル クエリと質問のペアの追加はサポートされていません。 ただし、lakehouse、warehouse、KQL データベースなどのサポートされているデータ ソースでは、より多くの例を提供することで、既定のパフォーマンスに調整が必要な場合に正確なクエリを生成する AI の能力を大幅に向上させることができます。

ヒント

さまざまなクエリ例のセットにより、Fabric データ エージェントの機能が強化され、正確で関連性の高い SQL/KQL クエリが生成されます。 KQL データベースの場合、NL2KQL では、選択したデータベースで使用できる KQL ユーザー定義関数 (UDF) を使用することもできます。そのため、UDF を参照するクエリの例を含めることもできます。

クエリの例を追加または編集するには、次のスクリーンショットに示すように、[ クエリの例 ] ボタンを選択してクエリの例ペインを開きます。

AI に提供した例を編集できる場所を示すスクリーンショット。

このウィンドウには、セマンティック モデルとオントロジを除く、サポートされているすべてのデータ ソースのサンプル クエリPower BI追加または編集するためのオプションが用意されています。 次のスクリーンショットに示すように、データ ソースごとに [サンプル クエリの追加] または [サンプル クエリの編集] を選択して、関連する例を入力できます。

AI に提供する SQL の例を示すスクリーンショット。

Fabric データ エージェントは、有効な SQL/KQL 構文を含み、選択したテーブルのスキーマと一致するクエリのみを参照します。 Fabric データ エージェントでは、検証を完了していないクエリは使用されません。 すべてのサンプル クエリが有効であり、スキーマと正しく一致していることを確認して、Fabric データ エージェントがそれらを効果的に利用できるようにします。

Fabric データ エージェントを発行して共有する

さまざまな質問でFabric データ エージェントのパフォーマンスをテストし、正確な SQL、DAX、または KQL クエリが生成されることを確認したら、同僚と共有できます。 その時点で、次のスクリーンショットに示すように [ 発行] を選択します。

Fabric データ エージェントの公開を示すスクリーンショット.

この手順では、Fabric データ エージェントの説明を求めるウィンドウが開きます。 ここでは、Fabric データ エージェントの機能について詳しく説明します。 これらの詳細は、Fabric データ エージェントの機能について同僚に案内し、他の AI システム/オーケストレーターがFabricデータ エージェントを効果的に呼び出すのを支援します。

Fabric データ エージェントを発行すると、2 つのバージョンが作成されます。 1 つのバージョンが現在のドラフト バージョンであり、引き続き改良および改善できます。 2 番目のバージョンは発行済みバージョンです。これは、Fabric データ エージェントにクエリを実行して質問に対する回答を得たい同僚と共有できます。 開発時に同僚からのフィードバックを現在のドラフト バージョンに組み込んで、Fabricデータ エージェントのパフォーマンスをさらに向上させることができます。

ALM とデプロイ

Fabricデータ エージェントは、環境間でエージェントを管理するのに役立つライフサイクル管理機能をサポートします。

  • 診断: 組み込みの診断を使用してエージェントの動作のトラブルシューティングを行い、クエリ生成の問題を特定します。
  • Git integration: Fabric ワークスペースを Git リポジトリに接続して、手順、クエリ例、データ ソースの選択など、バージョン管理エージェントの構成に接続します。
  • デプロイ パイプライン: Fabricデプロイ パイプラインを使用して、データ エージェントを開発からテストおよび運用ワークスペースに昇格させます。

Power BIセマンティック モデルを使用するデータ エージェントに対してクエリを実行するコンシューマーは、それらのモデルに対する読み取りアクセス許可のみを必要とし、ワークスペースへのアクセスは必要ありません。 セマンティック モデルを変更するか、Prep for AI などの機能を使用するには、書き込みアクセス許可が必要です。