Guida alle chiamate di funzioni di IA Edge

L'SDK di chiamata di funzioni di IA Edge (FC SDK) è una libreria che consente agli sviluppatori di utilizzare la chiamata di funzioni con LLM on-device. La chiamata di funzioni ti consente di collegare i modelli a strumenti e API esterni, consentendo ai modelli di chiamare funzioni specifiche con i parametri necessari per eseguire azioni reali.

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 FC AI Edge è disponibile per Android e può essere eseguito completamente sul dispositivo con l'API di inferenza LLM. Per iniziare a utilizzare l'SDK, segui la guida Android, che illustra un'implementazione di base di un'applicazione di esempio che utilizza 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:

  1. Definire le dichiarazioni di funzione: la struttura e i parametri delle funzioni che l'LLM può chiamare devono essere definiti nel codice dell'applicazione. Sono inclusi nomi, parametri e tipi di funzioni.
  2. Formatta i prompt e le uscite: il testo di input e di output può contenere chiamate di funzioni e linguaggio naturale. Un formatore controlla in che modo le strutture di dati vengono convertiere in stringhe e viceversa, consentendo all'LLM di formattare in modo appropriato le informazioni.
  3. Elaborazione delle uscite: 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.
  4. 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 un testo in linguaggio naturale.

Componenti chiave

L'SDK FC contiene i seguenti componenti chiave:

  • Backend di inferenza: un'interfaccia per eseguire l'inferenza su un modello di IA generativa. L'SDK FC utilizza l'API LLM Inference per eseguire l'inferenza sui modelli LiteRT (TFLite). L'API utilizza l'interfaccia InferenceBackend.
  • Formattatore di prompt: un'interfaccia per formattare le richieste e le risposte al e dal modello di IA generativa. L'SDK FC fornisce un programma di formattazione 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 i token specifici del modello per indicare i turni dell'utente e del modello. L'API utilizza l'interfaccia ModelFormatter.
  • Parser di output: 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 per l'utilizzo da parte dell'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 funzione validi. L'API utilizza l'interfaccia ConstraintProvider.