•
시맨틱 커널의 핵심 구성 요소 : 기존 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 사양에서 플러그인을 가져오기 가능 -> 다른 언어 및 플랫폼에서 공유 가능
연습 - 네이티브 함수 생성
참고 자료
