연습 - 기본 제공 플러그 인 사용

완료됨

이 연습에서는 의미 체계 커널 프로젝트에 기존 플러그 인을 추가하고 첫 번째 플러그 인을 사용하여 작업을 수행하는 방법을 알아봅니다. 그럼 시작하겠습니다.

개발 환경 준비

이러한 연습을 위해 시작 프로젝트를 사용할 수 있습니다. 시작 프로젝트를 설정하려면 다음 단계를 따릅니다.

Important

이 단계를 완료하려면 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. 통합 터미널에서 의미 체계 커널 Plugins를 추가합니다. 다음 명령을 실행하여 프로젝트에 Core 패키지를 추가합니다. dotnet add package Microsoft.SemanticKernel.Plugins.Core --version 1.2.0-alpha

    참고 항목

    현재 패키지는 시험판 버전입니다. 최신 버전이 있는지 확인해 보세요. 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을 가져옵니다. 새 커널 작성기를 만들고 작성기에 플러그 인을 추가합니다. ConversationSummaryPluginGetConversationActionItems, SummarizeConversationGetConversationTopics 등 여러 작업을 지원합니다.

    샘플 대화로 문자열을 만든 다음 함수 이름으로 플러그 인을 호출하고 대화 문자열을 전달합니다. 플러그 인은 대화 요약을 반환합니다.

    참고 항목

    플러그 인은 아직 미리 보기 상태이므로 파일 상단에 #pragma warning disable SKEXP0050을 사용하여 경고 억제를 추가해야 할 수도 있습니다.

  3. 터미널에 dotnet run을 입력하여 코드를 실행합니다.

    다음 출력과 유사한 응답이 표시됩니다.

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

    플러그 인은 입력 문자열에서 간소화된 의도를 식별할 수 있었습니다.

이 예는 의미 체계 커널 SDK로 수행할 수 있는 작업의 시작에 불과합니다. 다음 단원에서는 플러그 인을 사용자 지정하고 함수를 실행하는 더 많은 방법을 배우게 됩니다.

Important

작성한 코드는 삭제하지 마세요. 다음 연습에 필요합니다.