연습 - 기본 제공 플러그 인 사용
이 연습에서는 의미 체계 커널 프로젝트에 기존 플러그 인을 추가하고 첫 번째 플러그 인을 사용하여 작업을 수행하는 방법을 알아봅니다. 그럼 시작하겠습니다.
개발 환경 준비
이러한 연습을 위해 시작 프로젝트를 사용할 수 있습니다. 시작 프로젝트를 설정하려면 다음 단계를 따릅니다.
Important
이 단계를 완료하려면 Visual Studio Code 및 .NET Framework 8.0이 설치되어 있어야 합니다. Visual Studio Code C# 개발 키트 확장을 설치해야 할 수도 있습니다.
Visual Studio Code를 엽니다.
Visual Studio Code 시작 섹션에서 Git 리포지토리 복제를 선택합니다.
URL 표시줄에
https://github.com/MicrosoftLearning/MSLearn-Develop-AI-Agents-with-Azure-OpenAI-and-Semantic-Kernel-SDK.git
를 입력합니다.파일 탐색기에서 바탕 화면의 폴더와 같이 쉽게 찾고 기억할 수 있는 위치에 새 폴더를 만듭니다.
리포지토리 대상으로 선택 단추를 클릭합니다.
프로젝트를 성공적으로 복제하려면 GitHub에 로그인해야 합니다.
Visual Studio Code에서 프로젝트를 엽니다.
탐색기에서 M02-create-plugins-for-semantic-kernel/M02-Project 폴더를 마우스 오른쪽 단추로 클릭하고 통합 터미널에서 열기를 클릭합니다.
M02-create-plugins-for-semantic-kernel/M02-Project 폴더를 확장합니다.
"Program.cs" 파일이 표시됩니다.
Program.cs 파일을 열고 Azure OpenAI Services 배포 이름, API 키, 엔드포인트로 다음 변수를 업데이트합니다.
string yourDeploymentName = ""; string yourEndpoint = ""; string yourKey = "";
이제 연습을 시작할 준비가 되었습니다. 행운을 빕니다!
사용자의 의도 파악
통합 터미널에서 의미 체계 커널 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
다음 코드를 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
은GetConversationActionItems
,SummarizeConversation
및GetConversationTopics
등 여러 작업을 지원합니다.샘플 대화로 문자열을 만든 다음 함수 이름으로 플러그 인을 호출하고 대화 문자열을 전달합니다. 플러그 인은 대화 요약을 반환합니다.
참고 항목
플러그 인은 아직 미리 보기 상태이므로 파일 상단에
#pragma warning disable SKEXP0050
을 사용하여 경고 억제를 추가해야 할 수도 있습니다.터미널에
dotnet run
을 입력하여 코드를 실행합니다.다음 출력과 유사한 응답이 표시됩니다.
{ "actionItems": [ { "owner": "", "actionItem": "Provide a list of vegan-friendly spicy breakfast recipes", "dueDate": "", "status": "Open", "notes": "" } ] }
플러그 인은 입력 문자열에서 간소화된 의도를 식별할 수 있었습니다.
이 예는 의미 체계 커널 SDK로 수행할 수 있는 작업의 시작에 불과합니다. 다음 단원에서는 플러그 인을 사용자 지정하고 함수를 실행하는 더 많은 방법을 배우게 됩니다.
Important
작성한 코드는 삭제하지 마세요. 다음 연습에 필요합니다.