L'SDK AI Edge Function Calling (SDK FC) è una libreria che consente agli sviluppatori di utilizzare la chiamata di funzione con LLM on-device. La chiamata di funzioni consente di connettere modelli a strumenti e API esterni, consentendo ai modelli di chiamare funzioni specifiche con i parametri necessari per eseguire azioni nel mondo reale.
Anziché generare solo testo, un LLM che utilizza l'SDK FC può generare una chiamata strutturata a una funzione che esegue un'azione, ad esempio la ricerca di informazioni aggiornate, l'impostazione di sveglie o la prenotazione.
L'SDK AI Edge FC è disponibile per Android e può essere eseguito completamente sul dispositivo con l'API LLM Inference. Inizia a utilizzare l'SDK seguendo la guida per Android, che illustra un'implementazione di base di un'applicazione di esempio utilizzando la chiamata di funzioni.
Pipeline di chiamata di funzione
La configurazione di un LLM on-device con funzionalità di chiamata di funzione richiede i seguenti passaggi chiave:
- Definisci le dichiarazioni di funzione: la struttura e i parametri delle funzioni che l'LLM può chiamare devono essere definiti nel codice dell'applicazione. Ciò include la specifica di nomi, parametri e tipi di funzioni.
- Formattare prompt e output: il testo di input e output può contenere linguaggio naturale e chiamate di funzioni. Un formattatore controlla la conversione delle strutture di dati da e verso le stringhe, consentendo all'LLM di formattare le informazioni in modo appropriato.
- Analizza output: un parser rileva se la risposta generata contiene una chiamata di funzione e la analizza in un tipo di dati strutturati in modo che l'applicazione possa eseguire la chiamata di funzione.
- Esamina le risposte: se il parser rileva una chiamata di funzione, l'applicazione chiama la funzione con i parametri e il tipo di dati strutturati appropriati. In caso contrario, restituisce il testo in linguaggio naturale.
Componenti chiave
L'SDK Firebase Cloud Messaging contiene i seguenti componenti chiave:
- Backend di inferenza: un'interfaccia per eseguire l'inferenza su un modello di AI generativa. L'SDK FC utilizza l'API LLM Inference per eseguire l'inferenza sui modelli LiteRT (TFLite). L'API utilizza l'interfaccia InferenceBackend.
- Prompt Formatter: un'interfaccia per formattare richieste e risposte da e verso il modello di AI generativa. L'SDK FC fornisce un formatter che converte le dichiarazioni di funzione nel formato specifico del modello richiesto dall'LLM e le inserisce nel prompt di sistema. Il formattatore gestisce anche token specifici del modello per indicare i turni dell'utente e del modello. L'API utilizza l'interfaccia ModelFormatter.
- Output Parser: l'SDK FC fornisce un parser che rileva se l'output del modello rappresenta una chiamata di funzione e lo analizza in una struttura di dati da utilizzare nell'applicazione. L'API utilizza l'interfaccia ModelFormatter.
- Decodifica vincolata: un'interfaccia per creare e gestire vincoli per garantire che l'output generato rispetti regole o condizioni specifiche. Per i modelli supportati, l'SDK FC configurerà il backend di inferenza in modo da utilizzare la decodifica vincolata, che garantisce che il modello restituisca solo nomi e parametri di funzioni validi. L'API utilizza l'interfaccia ConstraintProvider.