AI Edge 함수 호출 가이드

AI Edge Function Calling SDK (FC SDK)는 개발자가 온디바이스 LLM으로 함수 호출을 사용할 수 있도록 지원하는 라이브러리입니다. 함수 호출을 사용하면 모델을 외부 도구 및 API에 연결하여 모델이 실제 작업을 실행하는 데 필요한 매개변수로 특정 함수를 호출할 수 있습니다.

FC SDK를 사용하는 LLM은 텍스트를 생성하는 대신 최신 정보 검색, 알람 설정, 예약과 같은 작업을 실행하는 함수에 대한 구조화된 호출을 생성할 수 있습니다.

AI Edge FC SDK는 Android에서 사용할 수 있으며 LLM 추론 API를 사용하여 완전히 온디바이스로 실행할 수 있습니다. 함수 호출을 사용하여 샘플 애플리케이션의 기본 구현을 안내하는 Android 가이드에 따라 SDK 사용을 시작하세요.

함수 호출 파이프라인

함수 호출 기능이 있는 온디바이스 LLM을 설정하려면 다음 주요 단계를 따라야 합니다.

  1. 함수 선언 정의: LLM이 호출할 수 있는 함수의 구조와 매개변수는 애플리케이션 코드에 정의해야 합니다. 여기에는 함수 이름, 매개변수, 유형 지정이 포함됩니다.
  2. 프롬프트 및 출력 형식 지정: 입력 및 출력 텍스트에는 자연어와 함수 호출이 포함될 수 있습니다. 포맷터는 데이터 구조가 문자열로 변환되는 방식과 문자열에서 변환되는 방식을 제어하여 LLM이 정보를 적절하게 포맷할 수 있도록 합니다.
  3. 출력 파싱: 파서는 생성된 대답에 함수 호출이 포함되어 있는지 감지하고 애플리케이션이 함수 호출을 실행할 수 있도록 구조화된 데이터 유형으로 파싱합니다.
  4. 응답 검토: 파서가 함수 호출을 감지하면 애플리케이션은 적절한 매개변수와 구조화된 데이터 유형으로 함수를 호출합니다. 그렇지 않으면 자연어 텍스트를 반환합니다.

주요 구성요소

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 인터페이스를 사용합니다.