////
Search

플러그인

시맨틱 커널의 핵심 구성 요소 : 기존 API를 AI에서 사용할 수 있는 컬렉션으로 캡슐화 가능
시맨틱 커널은 내부적으로 대부분의 최신 LLM의 기본 기능인 함수 호출을 활용해 LLM이 계획을 수행 + API를 호출
함수 호출을 통해 LLM이 특정 함수를 요청(호출) 가능
시맨틱 커널은 요청을 코드베이스의 적절한 함수로 정렬(마샬링)하고 결과를 다시 LLM에 반환 -> LLM이 최종 응답을 생성
AI 앱 및 서비스에 노출될 수 있는 기능 그룹
플러그인 내 기능을 AI 애플리케이션에 의해 조정해 사용자 요청을 수행
시맨틱 커널 내에서 함수 호출을 통해 함수를 자동 호출
함수 호출로 자동 오케스트레이션을 강화하려면 :
플러그인은 작동 방식을 의미론적으로 설명하는 세부 정보도 제공해야함.
함수의 입출력 및 부작용에 대한 모든 것은 AI가 이해 가능한 방식으로 설명되어야하며, 그렇지 않으면 AI가 제대로 된 함수 호출 X

플러그인 유형 2가지

플러그인 함수 유형 2가지

플러그인이 네이티브 코드 / OpenAI 사양 활용으로 나뉜다면, 플러그인 함수는 다시 두 가지 유형으로 나뉨
1.
RAG를 위해 데이터를 검색하는 함수
2.
작업을 자동화하는 함수

1. 네이티브 코드

기존 코드베이스에서 이미 가지고 있는 종속성과 서비스를 활용하는 플러그인 작성 가능

네이티브 함수

애플리케이션에서 시맨틱 커널 SDK에서 호출 가능한 네이티브 코드로 작성된 함수 :
애플리케이션이 수행할 수 있는 기술
커널에서 사용할 특정 형식권장되는 파일 구조를 가짐
Attribute(데코레이터)
KernelFunction
커널이 해당 함수에 액세스할 수 있음을 알려줌
Description
함수가 수행하는 작업을 커널에 알려줌
Plugins 디렉토리 : 네이티브 함수를 포함하는 클래스의 위치
LLM(대규모 언어 모델)이 직접 액세스는 못 해도, 네이티브 함수를 통해 필요 데이터를 액세스하고 LLM이 그걸 기반으로 응답할 수 있음

2. OpenAI 사양 활용

OpenAPI 사양에서 플러그인을 가져오기 가능 -> 다른 언어 및 플랫폼에서 공유 가능

연습 - 네이티브 함수 생성

참고 자료