AI Edge 함수 호출 SDK (FC SDK)는 개발자가 기기 내 LLM으로 함수 호출을 사용할 수 있는 라이브러리입니다. 함수 호출을 사용하면 모델을 외부 도구 및 API에 연결하여 모델이 실제 작업을 실행하는 데 필요한 매개변수를 사용하여 특정 함수를 호출할 수 있습니다.
FC SDK를 사용하는 LLM은 텍스트를 생성하는 대신 최신 정보를 검색하거나 알람을 설정하거나 예약을 하는 등의 작업을 실행하는 함수에 대한 구조화된 호출을 생성할 수 있습니다.
AI Edge FC SDK는 Android에서 사용할 수 있으며 LLM 추론 API를 사용하여 기기 내에서 완전히 실행할 수 있습니다. 함수 호출을 사용하는 샘플 애플리케이션의 기본 구현을 안내하는 Android 가이드에 따라 SDK 사용을 시작합니다.
함수 호출 파이프라인
함수 호출 기능이 있는 기기 내 LLM을 설정하려면 다음과 같은 주요 단계가 필요합니다.
- 함수 선언 정의: LLM이 호출할 수 있는 함수의 구조와 매개변수는 애플리케이션 코드에 정의되어야 합니다. 여기에는 함수 이름, 매개변수, 유형 지정이 포함됩니다.
 - 프롬프트 및 출력 형식: 입력 및 출력 텍스트에 자연어 및 함수 호출이 포함될 수 있습니다. 형식 지정자는 데이터 구조가 문자열로 변환되는 방식을 제어하여 LLM이 정보를 적절하게 형식 지정할 수 있도록 합니다.
 - 출력 파싱: 파서는 생성된 응답에 함수 호출이 포함되어 있는지 감지하고 애플리케이션이 함수 호출을 실행할 수 있도록 구조화된 데이터 유형으로 파싱합니다.
 - 응답 검사: 파서가 함수 호출을 감지하면 애플리케이션은 적절한 매개변수와 구조화된 데이터 유형으로 함수를 호출합니다. 그렇지 않으면 자연어 텍스트를 반환합니다.
 
주요 구성요소
FC SDK에는 다음과 같은 주요 구성요소가 포함되어 있습니다.
- 추론 백엔드: 생성형 AI 모델에서 추론을 실행하기 위한 인터페이스입니다. FC SDK는 LLM 추론 API를 사용하여 LiteRT(TFLite) 모델에서 추론을 실행합니다. 이 API는 InferenceBackend 인터페이스를 사용합니다.
 - 프롬프트 형식 지정 도구: 생성형 AI 모델에 대한 요청 및 응답의 형식을 지정하는 인터페이스입니다. FC SDK는 함수 선언을 LLM에 필요한 모델별 형식으로 변환하고 시스템 프롬프트에 삽입하는 형식 지정자를 제공합니다. 또한 형식 지정기는 사용자 및 모델 전환을 나타내는 모델별 토큰을 처리합니다. 이 API는 ModelFormatter 인터페이스를 사용합니다.
 - 출력 파서: FC SDK는 모델의 출력이 함수 호출을 나타내는지 감지하고 애플리케이션에서 사용할 수 있도록 데이터 구조로 파싱하는 파서를 제공합니다. 이 API는 ModelFormatter 인터페이스를 사용합니다.
 - 제약된 디코딩: 생성된 출력이 특정 규칙이나 조건을 준수하도록 제약조건을 만들고 관리하기 위한 인터페이스입니다. 지원되는 모델의 경우 FC SDK는 제약된 디코딩을 사용하도록 추론 백엔드를 구성하여 모델이 유효한 함수 이름과 매개변수만 출력하도록 합니다. 이 API는 ConstraintProvider 인터페이스를 사용합니다.