次の方法で共有


Fabric データ エージェントを活用する (プレビュー)

Microsoft Fabric のデータ エージェントは、エンタープライズ データを会話型の Q&A システムに変換します。 これにより、ユーザーはチャットを通じてデータを操作し、実用的な分析情報を明らかにできます。 Fabric データ エージェントを使用する方法の 1 つは、Azure AI Foundry のコア コンポーネントである Azure AI エージェント サービスを使用することです。 Fabric データ エージェントと Azure AI Foundry の統合により、Azure AI エージェントは、Microsoft Fabric OneLake に用意された豊富な構造化セマンティック データを直接活用できます。 この統合により、高品質のエンタープライズ データにすぐにアクセスできるようになり、Azure AI エージェントは実用的な分析情報を生成し、分析ワークフローを合理化できます。 その後、組織は、Azure AI 環境内の強力なナレッジ ソースとして Fabric データ エージェントを使用して、データ主導の意思決定を強化できます。

重要

この機能はプレビュー段階にあります。 Azure AI Agents Python SDK の最新のベータ/プレビュー バージョンを使用する必要があります。

前提条件

しくみ

エージェントのセットアップ: Azure AI エージェント サービスで、新しいエージェントを作成し、そのナレッジ ソースの 1 つとして Fabric データ エージェントを追加します。 この接続を確立するには、Fabric データ エージェントのワークスペース ID と成果物 ID が必要です。 この設定により、Azure AI エージェントはクエリを受信したときに使用可能なソースを評価し、要求を処理するための適切なツールが確実に呼び出されるようにすることができます。 現時点では、ナレッジ ソースとして Azure AI エージェントに追加できる Fabric データ エージェントは 1 つだけです。

Azure AI エージェントのセットアップで選択したモデルは、Azure AI エージェントのオーケストレーションと応答の生成にのみ使用されます。 Fabric データ エージェントが使用するモデルには影響しません。

クエリ処理: ユーザーが Foundry プレイグラウンドからクエリを送信すると、Azure AI エージェント サービスによって、Fabric データ エージェントがタスクに最適なツールであるかどうかが判断されます。 その場合、Azure AI エージェントは以下を実行します。

  • エンド ユーザーの ID を使用して、ユーザーが Fabric データ エージェント内からアクセスするアクセス許可を持つデータ ソースに対するセキュリティで保護されたクエリを生成します。
  • スムーズで自動化されたエクスペリエンスを確保するために、Fabric を呼び出してデータをフェッチおよび処理します。
  • Fabric データ エージェントからの結果を独自のロジックと組み合わせて、包括的な応答を生成します。 ID パススルー (On-Behalf-Of) 認可によりこのフローは保護され、エンタープライズ データ全体で堅牢なセキュリティと適切なアクセスの制御が確保されます。

Fabric データ エージェントと Azure AI Foundry リソースは同じテナント上にあり、Microsoft Fabric と Azure AI Foundry の両方が同じアカウントでサインインする必要があります。

Azure AI エージェントへの Fabric データ エージェントの追加

Fabric データ エージェントは、プログラムまたはユーザー インターフェイス (UI) を使用して、Azure AI エージェントに追加できます。 詳細なコード例と詳細な手順については、Azure AI Agent 統合ドキュメントを参照してください。

UI を使用して Fabric データ エージェントを追加する:

  • 左ウィンドウに移動します。 [Build and Customize] (ビルドとカスタマイズ) で、次のスクリーンショットに示すように [エージェント] を選択します。

Azure Foundry のメイン ページを示すスクリーンショット。

これにより、既存の Azure AI エージェントの一覧が表示されます。 これらのエージェントのいずれかに Fabric を追加することも、[新しいエージェント] 選択して新しいエージェントを作成することもできます。 新しいエージェントの作成では、一意のエージェント ID と既定の名前が生成されます。 名前はいつでも変更できます。 詳細については、「Azure AI Foundry ポータルにおける Azure OpenAI とは」を参照してください。

  • ナレッジ ソースの追加を開始する: 次のスクリーンショットに示すように、[追加] ボタンを選択します。

ナレッジとしての Fabric データ エージェントの追加を示すスクリーンショット。

これにより、サポートされているナレッジ ソースの種類のメニューが開きます。

  • ソースとして Microsoft Fabric を選択する: 次のスクリーンショットに示すように、一覧から [Microsoft Fabric] を選択します。

ナレッジ ソースとしての Fabric の選択を示すスクリーンショット。

このオプションを使用すると、エージェントは Fabric データ エージェントにアクセスできます。

  • 接続を作成する: 以前に Fabric データ エージェントへの接続を確立している場合は、その接続を新しい Azure AI エージェントに再利用できます。 それ以外の場合は、次のスクリーンショットに示すように、[ 新しい 接続] を選択して接続を作成します。

新しい Fabric 接続を作成する方法を示すスクリーンショット。

次のスクリーンショットに示すように、[ 新しい Microsoft Fabric 接続の作成 ] ウィンドウが開きます。

接続の作成を示すスクリーンショット。

接続を設定するときに、Fabric データ エージェントの workspace-idartifact-id の値をカスタム キーとして指定します。 workspace-idartifact-id の値は、公開された Fabric データ エージェント エンドポイントで確認できます。 Fabric データ エージェント エンドポイントの形式は次のとおりです。

https://fabric.microsoft.com/groups/ < workspace_id>/aiskills/<artifact-id>。[秘密である] チェックボックスをオンにします。

最後に、接続に名前を割り当て、Azure AI Foundry のすべてのプロジェクトで使用できるようにするか、現在のプロジェクトに制限するかを選択します。

[接続] を選択すると、次のスクリーンショットに示すように、Microsoft Fabric データ エージェントがナレッジ リソースとして追加されます。

手順を追加する方法を示すスクリーンショット。

また、Fabric データ エージェントを使用するタイミング、方法、および条件に関する手順を Azure AI エージェントに提供する必要があります。 Azure AI エージェントの観点からは、Fabric データ エージェントは Fabric ツールとして扱われるので、手順で参照できます。

また、ユース ケースの要件に基づいて、デプロイ モデルの調整、アクションの追加、モデル設定の変更を行うこともできます。 Azure AI エージェントが完全に構成されたら、[ プレイグラウンドで試す ] を選択してそのパフォーマンスをテストします。

Fabric データ エージェントをプログラムで追加する: 次の手順では、Python で Fabric データ エージェントをプログラムで Azure AI エージェントに追加する方法について説明します。 他の言語 (C#、JavaScript) については、 この リソースを参照できます。

手順 1: プロジェクト クライアントを作成する

AI プロジェクトやその他のリソースに接続する接続文字列を含むクライアント オブジェクトを作成します。

import os
from azure.ai.projects import AIProjectClient
from azure.identity import DefaultAzureCredential
from azure.ai.agents.models import FabricTool, ListSortOrder

手順 2: Microsoft Fabric ツールを有効にしてエージェントを作成する

Azure AI エージェントで Fabric データ エージェント ツールを使用できるようにするには、接続を使用してツールを初期化し、エージェントにアタッチします。 接続は、Azure AI Foundry ポータルのプロジェクトの[接続されたリソース] セクションで確認できます。

# The Fabric connection ID can be found in the Azure AI Foundry project as a property of the Fabric tool
# Your connection ID is in the format /subscriptions/<your-subscription-id>/resourceGroups/<your-resource-group>/providers/Microsoft.CognitiveServices/accounts/<ai-foundry-resource-name>/projects/<your-project-name>/connections/<your-fabric-connection-name>
conn_id = "your-connection-id"

# Initialize the AI project client
project_client = AIProjectClient(
    endpoint=os.environ["PROJECT_ENDPOINT"],
    credential=DefaultAzureCredential(),
)

# Initialize agent Fabric tool and add the connection ID
fabric = FabricTool(connection_id=conn_id)

# Create agent with the Fabric tool and process assistant run
with project_client:
    agent = project_client.agents.create_agent(
        model="gpt-4o",
        name="my-assistant",
        instructions="You are a helpful assistant",
        tools=fabric.definitions,
        headers={"x-ms-enable-preview": "true"},
    )
    print(f"Created agent, ID: {agent.id}")

手順 3: スレッドを作成する

# Create thread for communication
thread = project_client.agents.create_thread()
print(f"Created thread, ID: {thread.id}")

# Create message to thread
# Remember to update the message with your data
message = project_client.agents.create_message(
    thread_id=thread.id,
    role="user",
    content="what is top sold product in Contoso last month?",
)
print(f"Created message, ID: {message.id}")

手順 4: 実行を作成して出力を確認する

実行を作成し、モデルが Fabric データ エージェント ツールを使用してユーザーの質問に対する回答を提供することを確認します。

# Create and process agent run in thread with tools
run = project_client.agents.create_and_process_run(thread_id=thread.id, assistant_id=agent.id)
print(f"Run finished with status: {run.status}")

if run.status == "failed":
    print(f"Run failed: {run.last_error}")

# Delete the assistant when done
project_client.agents.delete_agent(agent.id)
print("Deleted agent")

# Fetch and log all messages
messages = project_client.agents.list_messages(thread_id=thread.id)
print(f"Messages: {messages}")