演習 - 組み込みのプラグインを使用する

完了

この演習では、Semantic Kernel プロジェクトに既存のプラグインを追加し、最初のプラグインを使用してタスクを実行する方法を学習します。 それでは始めましょう。

開発環境を準備する

これらの演習では、スターター プロジェクトを使用できます。 スターター プロジェクトを設定するには、次の手順を使用します。

重要

これらの手順を完了するには、Visual Studio Code と .NET Framework 8.0 がインストールされている必要があります。 Visual Studio Code C# 開発キット拡張機能のインストールが必要になる場合もあります。

  1. Visual Studio Code を開きます。

  2. Visual Studio Code の[開始] セクションで、[Git リポジトリのクローン] を選択してください。

  3. URL バーに、「https://github.com/MicrosoftLearning/MSLearn-Develop-AI-Agents-with-Azure-OpenAI-and-Semantic-Kernel-SDK.git」と入力してください

  4. エクスプローラーで、デスクトップ内のフォルダーなど、見つけやすく覚えやすい場所に新しいフォルダーを作成してください。

  5. [リポジトリの場所を選択] ボタンをクリックしてください。

    プロジェクトを正常にクローンするには、GitHub にサインインする必要があります。

  6. Visual Studio Code でプロジェクトを開きます。

  7. エクスプローラーで、M02-create-plugins-for-semantic-kernel/M02-Project フォルダーを右クリックし、[統合ターミナルで開く] をクリックします。

  8. M02-create-plugins-for-semantic-kernel/M02-Project フォルダーを展開します。

    "Program.cs" ファイルが表示されます。

  9. Program.cs ファイルを開き、以下の変数をお使いの Azure OpenAI Services のデプロイ名、API キー、エンドポイントに更新します。

    string yourDeploymentName = "";
    string yourEndpoint = "";
    string yourKey = "";
    

これで、演習を始める準備ができました。 がんばってください。

ユーザーの意図を取得する

  1. 統合ターミナルで、Semantic Kernel プラグインを追加します。 次のコマンドを実行して、プロジェクトのコア パッケージを作成します: dotnet add package Microsoft.SemanticKernel.Plugins.Core --version 1.2.0-alpha

    Note

    現在、パッケージはプレリリース バージョンです。 最新バージョンを https://www.nuget.org/packages/Microsoft.SemanticKernel.Plugins.Core/1.2.0-alpha で確認することをお勧めします

  2. Program.cs ファイルに次のコードを追加します。

    builder.Plugins.AddFromType<ConversationSummaryPlugin>();
    var kernel = builder.Build();
    
    string input = @"I'm a vegan in search of new recipes. I love spicy food! 
    Can you give me a list of breakfast recipes that are vegan friendly?";
    
    var result = await kernel.InvokeAsync(
        "ConversationSummaryPlugin", 
        "GetConversationActionItems", 
        new() {{ "input", input }});
    
    Console.WriteLine(result);
    

    このコードで、Core.Plugins パッケージから ConversationSummaryPlugin をインポートします。 新しいカーネル ビルダーを作成し、そのビルダーにプラグインを追加します。 ConversationSummaryPlugin では複数のアクションがサポートされています: GetConversationActionItemsSummarizeConversationGetConversationTopics

    サンプルの会話を使った文字列を作成し、関数名を指定してプラグインを呼び出し、会話の文字列を渡します。 プラグインから会話の概要が返されます。

    Note

    プラグインはまだプレビュー段階であるため、ファイルの先頭に #pragma warning disable SKEXP0050 を使用して警告を抑制することが必要な場合があります。

  3. ターミナルに「dotnet run」を入力してコードを実行します。

    次の出力のような応答が表示されます。

    {
        "actionItems": [
            {
                "owner": "",
                "actionItem": "Provide a list of vegan-friendly spicy breakfast recipes",
                "dueDate": "",
                "status": "Open",
                "notes": ""
            }
        ]
    }
    

    入力文字列から簡略化された意図がプラグインで識別できたことに注意してください。

この例は、Semantic Kernel SDK でできることのほんの始まりにすぎません。 次のユニットでは、プラグインをカスタマイズして関数を実行する方法をさらに学習します。

重要

作成したコードは削除しないでください。次の演習で必要になります。