次の方法で共有


Microsoft 365 Copilotの宣言型エージェントを構築する

重要

Microsoft 365 の宣言型エージェントは現在、一般公開フェーズにあります。 ただし、アクセスはステージングされ、すべてのユーザーがすぐに使用できるわけではありません。 完全な可用性は後日提供される予定です。

注:

  • organizationでMicrosoft 365 Copilotが使用可能であることを確認します。 Copilot の開発環境を取得するには、次の 2 つの方法があります。

宣言型エージェントとは

Microsoft 365 Copilotの宣言型エージェントからの回答を示すスクリーンショット。

宣言型エージェントの概要については、「Microsoft 365 Copilotの宣言型エージェント」を参照してください。

Microsoft 365 での宣言型エージェントの安全な実装の確保

Microsoft 365 のお客様とパートナーは、宣言型エージェントによって構成された REST API の説明を介して呼び出されるカスタム命令、基礎知識、アクションを使用してMicrosoft 365 Copilotを拡張する宣言型エージェントを構築できます。 実行時に、ユーザーのプロンプト、宣言型エージェントの一部であるカスタム命令、およびカスタム アクションによって提供されたデータの組み合わせに関する理由をMicrosoft 365 Copilotします。 このデータはすべてシステムの動作に影響を与える可能性があり、このような処理にはセキュリティ リスクが伴います。特に、カスタム アクションで信頼されていないソース (メールやサポート チケットなど) からのデータを提供できる場合、攻撃者はメッセージ ペイロードを作成して、エージェントが制御する方法で動作させる可能性があります。これにより、質問に誤って応答したり、カスタム アクションを呼び出したりする可能性があります。 Microsoft ではこのような攻撃を防ぐために多くの対策を講じますが、組織では、信頼されたナレッジ ソースを使用し、カスタム アクションを介して信頼された REST API に接続する宣言型エージェントのみを有効にする必要があります。 信頼されていないデータ ソースの使用が必要な場合は、侵害の可能性を中心に宣言型エージェントを設計し、慎重な人間の介入なしに機密性の高い操作を実行する機能を提供しないでください。

Microsoft 365 は、統合アプリを取得して使用できるユーザーと、宣言型エージェントを含むアプリを含む、Microsoft 365 テナント内のグループまたは個人に対して有効な特定のアプリを取得および使用できるユーザーを管理する広範な制御を組織に提供します。 ユーザーが独自の宣言型エージェントを作成できるようにする Copilot Studio などのツールには、管理者がナレッジアクションとカスタム アクションの両方で使用されるコネクタを管理できる広範なコントロールも含まれています。

前提条件

作業を開始する前に、Microsoft 365 Copilotの宣言型エージェントに関する次の標準とガイドラインに精通していることを確認してください。

宣言型エージェントを作成する

手順を提供し、Microsoft 365 データの基礎を作成し、プラグインを介して既存の API と統合できる宣言型エージェントを作成しましょう。

作業を開始する前に、次のツールをインストールして、宣言型エージェントをビルドしてデプロイしてください。

環境変数

注:

この手順は、宣言型エージェントがパブリックに使用できるようになるまで一時的です。

環境変数を TEAMSFX_DECLARATIVE_COPILOT に設定し、 KIOTA_CONFIG_PREVIEW を true に設定 します

PowerShell ターミナルを開き、次のコマンドを実行します。

[Environment]::SetEnvironmentVariable("TEAMSFX_DECLARATIVE_COPILOT", 'true', "User")
[Environment]::SetEnvironmentVariable("KIOTA_CONFIG_PREVIEW", "true", "User")
$env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User")

警告

ターミナルを閉じてもう一度開き、すべての変更が考慮されるようにします。

Teams Toolkit CLI をインストールする

コマンド プロンプトまたは PowerShell ターミナルで、次のコマンドを実行します。

npm install -g @microsoft/teamsapp-cli
teamsapp -h

詳細については、「 Teams Toolkit CLI のインストール」を参照してください。

Teams Toolkit Visual Studio Code 拡張機能をインストールする

「Teams Toolkit Visual Studio Code 拡張機能をインストールする」の手順に従って、プレリリース バージョンをインストールします。

Kiota をインストールする

.NET SDK がインストールされている場合は、.NET ツールとして Kiota をインストールできます。

ツールをインストールするには、コマンド プロンプトまたは PowerShell ターミナルで次のコマンドを実行します。

dotnet tool install --global Microsoft.OpenApi.Kiota

詳細については、「 Kiota のインストール」を参照してください。

Teams Toolkit を使用して宣言型エージェントを作成するには、次の手順に従います。

  • Visual Studio Code を開きます。

  • [ Teams ツールキット] > [新しいアプリの作成] を選択します

    スクリーンショットは、Teams Toolkit サイドバーの [Create New Project]\(新しいプロジェクトの作成\) ボタンを示しています。

  • [ Copilot 拡張機能] を選択します。

    選択するアプリ機能を示すスクリーンショット。

  • [ 宣言型の副操縦士] を選択します。

    選択する Copilot エージェントの種類を示すスクリーンショット。

  • [ プラグインなし ] を選択して、基本的な宣言型エージェントを作成します。

    選択する宣言型エージェントの種類を示すスクリーンショット。

  • [既定のフォルダー] を選択して、プロジェクトのルート フォルダーを既定の場所に格納します。

    選択するフォルダーを示すスクリーンショット。

  • アプリケーション名を選択します。

    作成するアプリケーションの名前を示すスクリーンショット。

  • これで、アプリケーションがスキャフォールディングされ、発行に使用できるようになりました。

    完全にスキャフォールディングされたアプリケーションを示すスクリーンショット。

  • アプリケーションを発行するには、[発行] を選択 します

    [発行] メニューを示すスクリーンショット。

  • URL を使用して Copilot アプリケーションに移動します https://microsoft365.com/chat

    スクリーンショットは、Microsoft 365 Copilotからの初期画面を示しています。

  • [ 新しいチャット ] ボタンの横にある会話ドロワー アイコンを選択します。

  • 宣言型エージェント Teams ツールキットの宣言型 copilot を選択する

    Microsoft 365 Copilotの宣言型エージェントのランディング画面を示すスクリーンショット。

  • 宣言型エージェントに関する質問を入力し、"Teams Toolkit を使用して宣言型 copilot を作成していただきありがとうございます" と回答していることを確認します。

    Microsoft 365 Copilotの宣言型エージェントからの回答を示すスクリーンショット。

会話スターターを追加する

宣言型エージェントに会話スターターを追加するには、次の手順に従います。

  • Visual Studio Code で開いているプロジェクト内に留まる。
  • appPackage/declarativeCopilot.json ファイルを開き、次の内容のconversation_starters配列を追加します。

    {
        "conversation_starters": [
            {
                "title": "Getting Started",
                "text": "How can I get started with Teams Toolkit?"
            },
            {
                "title": "Getting Help",
                "text": "How can I get help with Teams Toolkit?"
            }
        ]
    }
    
  • Teams Toolkit を使用して、[発行] を選択 します

    [発行] メニューを示すスクリーンショット。

  • 更新された会話スターターは、ページを更新した後、宣言型エージェントで使用できるようになります。

    Microsoft 365 Copilotの宣言型エージェントからの会話スターターを示すスクリーンショット。

Web コンテンツを追加する

Bingを使用して Web コンテンツをエージェントに追加するには、次の手順に従います。

  • appPackage/declarativeCopilot.json ファイルを開き、次の内容のcapabilities配列を追加します。

    {
        "capabilities": [
            {
                "name": "WebSearch"
            }
        ]
    }
    
  • Teams Toolkit を使用して、[発行] を選択 します

    [発行] メニューを示すスクリーンショット。

  • 宣言型エージェントは、ページを再読み込みした後、Web コンテンツにアクセスして回答を生成します。

    Microsoft 365 Copilotの宣言型エージェントの Web コンテンツを示すスクリーンショット。

OneDrive と SharePoint のナレッジを追加する

宣言型エージェントに OneDrive と SharePoint の知識を追加するには、次の手順に従います。

  • appPackage/declarativeCopilot.json ファイルを開き、次の内容をcapabilities配列に追加します。

    {
        "capabilities": [
            {
                "name": "WebSearch"
            },
            {
                "name": "OneDriveAndSharePoint",
                "items_by_url": [
                    {
                        "url": "https://contoso.sharepoint.com/sites/ProductSupport"
                    }
                ]
            }
        ]
    }
    

    注:

    • https://contoso.sharepoint.com/sites/ProductSupportを SharePoint サイト URL に置き換えます。
    • URL は、SharePoint アイテム (サイト、ドキュメント ライブラリ、フォルダー、またはファイル) への完全なパスである必要があります。 SharePoint の [直接リンクのコピー] オプションを使用して、完全なパスまたはファイルとフォルダーを取得できます。 これを実現するには、ファイルまたはフォルダーを右クリックし、[詳細] を選択 します[パス] に移動し、コピー アイコンをクリックします。
    • items_by_url配列を指定しない場合、既定では、ログインしたユーザーが使用できる OneDrive と SharePoint コンテンツのコーパス全体が使用されます。
  • Teams Toolkit を使用して、[発行] を選択 します

    [発行] メニューを示すスクリーンショット。

  • 宣言型エージェントは、ページを再読み込みした後に回答を生成するために、OneDrive と SharePoint コンテンツにアクセスできます。

    Microsoft 365 Copilotの宣言型エージェントの OneDrive と SharePoint のコンテンツを示すスクリーンショット。

Graph コネクタのナレッジを追加する

宣言型エージェントに Graph コネクタの知識を追加するには、次の手順に従います。

  • appPackage/declarativeCopilot.json ファイルを開き、次の内容をcapabilities配列に追加します。

    {
        "capabilities": [
            {
                "name": "WebSearch"
            },
            {
                "name": "OneDriveAndSharePoint",
                "items_by_url": [
                    {
                        "url": "https://contoso.sharepoint.com/sites/ProductSupport"
                    }
                ]
            },
            {
                "name": "GraphConnectors",
                "connections": [
                    {
                        "connection_id": "foodstore"
                    }
                ]
            }
        ]
    }
    

    注:

    • foodstoreを Graph コネクタ接続 ID に置き換えます。
    • Foodsie は、ここで入手できる Graph コネクタのサンプル です
    • connections配列を指定しない場合、既定では、ログインしたユーザーが使用できる Graph Connectors コンテンツのコーパス全体が使用されます。
  • Teams Toolkit を使用して、[発行] を選択 します

    [発行] メニューを示すスクリーンショット。

  • 宣言型エージェントは GraphConnectors コンテンツにアクセスして、ページを再読み込みした後で回答を生成します。

    Microsoft 365 の宣言型エージェントの Graph コネクタのコンテンツを示すスクリーンショット。

プラグインを追加する

宣言型エージェントにプラグインを追加するには、次の手順に従います。

  • [コマンド プロンプト] に移動します。

  • プロジェクト フォルダーに移動します。 この場合、プロジェクト フォルダーは ttk-declarative-copilot と呼ばれます。 これをフォルダーの名前に置き換えます。

    cd ttk-declarative-copilot
    
  • 次のコマンドを実行します。

    kiota plugin add --openapi https://aka.ms/repairshub/openapi.json --plugin-name "RepairsHub" --type apiplugin --output appPackage
    

    次の結果が表示されます。

    warn: Kiota.Builder.KiotaBuilder[0]
          OpenAPI warning: #/paths/~1repairs/get/responses/200/content/application~1json/schema/items/properties/image - The format uri is not supported by Kiota and the string type will be used.
    warn: Kiota.Builder.KiotaBuilder[0]
          OpenAPI warning: #/paths/~1repairs/post/requestBody/content/application~1json/schema/properties/image - The format uri is not supported by Kiota and the string type will be used.
    warn: Kiota.Builder.KiotaBuilder[0]
          OpenAPI warning: #/paths/~1repairs/patch/requestBody/content/application~1json/schema/properties/image - The format uri is not supported by Kiota and the string type will be used.
    Generation completed successfully
    Client base url set to https://piercerepairsapi.azurewebsites.net
    
    Hint: use the --include-path and --exclude-path options with glob patterns to filter the paths generated.
    Example: kiota plugin add --include-path "**/foo" -a "~/src/demos/ttk-declarative-copilot/.kiota/apimanifest.json#RepairsHub"
    

    注:

    OpenAPI の説明 URL をローカルまたはホストされている説明に置き換えて、独自の API を使用します

  • appPackage/declarativeCopilot.json ファイルを開き、actions配列を追加します。

    {
        "actions": [
            {
                "id": "repairsPlugin",
                "file": "repairshub-apiplugin.json"
            }
        ]
    }
    
  • Teams Toolkit を使用して、[発行] を選択 します

    [発行] メニューを示すスクリーンショット。

  • 宣言型エージェントは、ページを再読み込みした後に、プラグイン コンテンツにアクセスして回答を生成します。

    Microsoft 365 Copilotの宣言型エージェントのプラグイン コンテンツを示すスクリーンショット。

宣言型エージェントの手順を改善する

宣言型エージェントの手順を改善するには、次の手順に従います。

  • appPackage/declarativeCopilot.json ファイルを開き、instructions値を編集します。

    {
        "instructions": "You are a declarative copilot and were created with Team Toolkit. You are an expert at creating poems. Every time a user asks a question, you **must** turn the answer into a poem. The poem **must** not use the quote markdown and use regular text."
    }
    

    注:

    • instructions値は 1 行です。 \\nを使用して新しい行を追加します。

    スクリーンショットは、Microsoft 365 Copilotの宣言型エージェントからの指示に基づく更新の回答を示しています。

  • Teams Toolkit を使用して、[発行] を選択 します

    [発行] メニューを示すスクリーンショット。

  • 宣言型エージェントは、ページを再読み込みした後、更新された手順にアクセスできます。