Pakiet AI Edge Function Calling SDK (FC SDK) to biblioteka, która umożliwia programistom korzystanie z wywoływania funkcji za pomocą modeli LLM na urządzeniu. Wywoływanie funkcji umożliwia łączenie modeli z narzędziami zewnętrznymi i interfejsami API, dzięki czemu modele mogą wywoływać określone funkcje z niezbędnymi parametrami do wykonywania działań w rzeczywistym świecie.
Zamiast tylko generować tekst, LLM korzystający z pakietu FC SDK może generować strukturalne wywołanie funkcji, która wykonuje działanie, np. wyszukuje aktualne informacje, ustawia alarmy lub dokonuje rezerwacji.
Pakiet AI Edge FC SDK jest dostępny na Androida i może być w całości uruchamiany na urządzeniu za pomocą interfejsu LLM Inference API. Aby zacząć korzystać z pakietu SDK, postępuj zgodnie z przewodnikiem po Androidzie, który zawiera podstawowe informacje o wdrażaniu przykładowej aplikacji z wykorzystaniem wywoływania funkcji.
Potok wywoływania funkcji
Konfigurowanie modelu LLM na urządzeniu z funkcjami wywoływania funkcji wymaga wykonania tych kluczowych czynności:
- Zdefiniuj deklaracje funkcji: struktura i parametry funkcji, które LLM może wywoływać, muszą być zdefiniowane w kodzie aplikacji. Obejmuje to określanie nazw funkcji, parametrów i typów.
- Formatowanie promptów i danych wyjściowych: tekst wejściowy i wyjściowy może zawierać język naturalny i wywołania funkcji. Formatujący kontroluje sposób konwertowania struktur danych na ciągi znaków i z nich, co umożliwia LLM odpowiednie formatowanie informacji.
- Analizowanie danych wyjściowych: analizator wykrywa, czy wygenerowana odpowiedź zawiera wywołanie funkcji, i przetwarza je na typ danych strukturalnych, aby aplikacja mogła wykonać wywołanie funkcji.
- Sprawdzanie odpowiedzi: jeśli parser wykryje wywołanie funkcji, aplikacja wywołuje funkcję z odpowiednimi parametrami i strukturalnym typem danych. W przeciwnym razie zwraca tekst w języku naturalnym.
Kluczowe komponenty
Pakiet FC SDK zawiera te kluczowe komponenty:
- Backend wnioskowania: interfejs do uruchamiania wnioskowania na modelu generatywnej AI. Pakiet FC SDK używa interfejsu LLM Inference API do wykonywania wnioskowania na modelach LiteRT (TFLite). Interfejs API korzysta z interfejsu InferenceBackend.
- Prompt Formatter: interfejs do formatowania żądań i odpowiedzi do i z modelu generatywnej AI. Pakiet FC SDK udostępnia moduł formatujący, który przekształca deklaracje funkcji w format wymagany przez LLM i wstawia je do promptu systemowego. Formatujący obsługuje też tokeny specyficzne dla modelu, które wskazują na wypowiedzi użytkownika i modelu. Interfejs API korzysta z interfejsu ModelFormatter.
- Parser danych wyjściowych: pakiet FC SDK udostępnia parser, który wykrywa, czy dane wyjściowe modelu reprezentują wywołanie funkcji, i przetwarza je w strukturę danych do wykorzystania przez aplikację. Interfejs API korzysta z interfejsu ModelFormatter.
- Dekodowanie z ograniczeniami: interfejs do tworzenia ograniczeń i zarządzania nimi, który zapewnia, że wygenerowane dane wyjściowe są zgodne z określonymi regułami lub warunkami. W przypadku obsługiwanych modeli pakiet FC SDK skonfiguruje backend wnioskowania tak, aby używał dekodowania z ograniczeniami, co zapewni, że model będzie zwracać tylko prawidłowe nazwy funkcji i parametry. Interfejs API korzysta z interfejsu ConstraintProvider.