기본 제공 플러그 인 살펴보기

완료됨

플러그 인은 의미 체계 커널 SDK의 핵심 구성 요소 중 하나입니다. 플러그 인은 커널이 LLM(대규모 언어 모델)과 인터페이스를 실행할 때 수행할 작업을 정의합니다. 플러그 인은 네이티브 코드와 LLM에 대한 프롬프트로 구성될 수 있습니다. 의미 체계 커널 SDK는 또한 애플리케이션에서 사용할 수 있는 일반적인 작업을 위한 몇 가지 기본 제공 플러그 인을 제공합니다.

플러그 인이란?

의미 체계 커널 SDK에서 플러그 인은 커널에서 실행할 수 있는 함수를 포함하는 클래스입니다. 플러그 인 함수는 의미 체계 프롬프트나 네이티브 함수 코드에서 만들어질 수 있습니다. 플러그 인을 사용하려면 이를 커널에 추가한 다음 InvokeAsync 메서드를 사용하여 원하는 함수를 호출합니다. 커널은 플러그 인에 액세스하여 함수를 찾아 실행한 다음 결과를 반환합니다. 몇 가지 미리 정의된 플러그 인을 살펴보겠습니다.

기본 제공 플러그 인

의미 체계 커널 SDK는 일반적인 작업을 위해 미리 정의된 플러그 인이 있는 추가 패키지를 제공합니다. 이는 NuGet과 함께 설치할 수 있는 Plugins.Core 패키지에서 사용할 수 있습니다. dotnet add package Microsoft.SemanticKernel.Plugins.Core --version 1.2.0-alpha 패키지에는 다음 플러그 인이 포함되어 있습니다.

  • ConversationSummaryPlugin - 대화 요약
  • FileIOPlugin - 파일 시스템에 대한 읽기 및 쓰기
  • HttpPlugin - HTTP 엔드포인트에 대한 요청
  • MathPlugin - 수학 연산 수행
  • TextPlugin - 텍스트 조작 수행
  • TimePlugin - 시간 및 날짜 정보 가져오기
  • WaitPlugin - 지정된 시간 동안 실행 일시 중지

코어 플러그 인을 사용하려면 AddFromType 메서드를 사용하여 커널 빌더에 추가할 수 있습니다. 예를 들어 커널에 TimePlugin을 추가하려면 다음 코드를 사용할 수 있습니다.

using Microsoft.SemanticKernel;
using Microsoft.SemanticKernel.Plugins.Core;
    
var builder = Kernel.CreateBuilder();
builder.AddAzureOpenAIChatCompletion(
    "your-deployment-name",
    "your-endpoint",
    "your-api-key",
    "deployment-model");
builder.Plugins.AddFromType<TimePlugin>();
var kernel = builder.Build();
var currentDay = await kernel.InvokeAsync("TimePlugin", "DayOfWeek");
Console.WriteLine(currentDay);

이 코드는 커널에 TimePlugin을 추가한 다음 DayOfWeek 함수를 호출하여 현재 요일을 가져옵니다. 출력은 현재 요일입니다.

이러한 쉽게 사용할 수 있는 플러그 인을 사용하여 프로젝트에 기능을 빠르게 추가할 수 있습니다. 다음 연습에서는 ConversationSummaryPlugin을 사용하여 대화 요약 또는 텍스트 블록에서 작업 항목을 가져오는 방법을 알아봅니다.