Le function rappresentano un potente strumento per estendere le capacità della tua AI, permettendole di eseguire azioni specifiche e interagire con sistemi esterni. Con AIsuru, puoi creare facilmente function personalizzate per soddisfare le esigenze uniche del tuo progetto.
Cosa sono le function?
Le function sono istruzioni che permettono all'AI di eseguire operazioni al di fuori del suo normale ambito conversazionale - si parla di “function calling”.
Possono essere utilizzate per:
- Recuperare informazioni da database esterni;
- Inviare email o notifiche;
- Effettuare calcoli complessi;
- Interagire con API di terze parti.
Utilizzando le function, puoi trasformare la tua AI da un semplice assistente conversazionale a un potente strumento in grado di automatizzare processi e fornire risposte basate su dati in tempo reale.
Come creare una function in AIsuru
Dove si trova la sezione delle function?
Per creare una nuova function in AIsuru dovrai:
- Accedere alla piattaforma;
- Creare un twin o aprire il pannello di gestione di un twin esistente;
- Selezionare “Intenti dinamici” nel menu laterale;
- Cliccare sul tab “Funzioni” nella parte superiore della pagina;
- Premere su "Nuova funzione" e compilare tutti i campi.
Creare una nuova funzione
A questo punto, infatti, si aprirà una nuova schermata dove potrai definire i dettagli della tua function:
- Nome: Inserisci un nome univoco e descrittivo per la tua funzione. Questo nome sarà usato internamente dal sistema per identificare la funzione.
- Descrizione: Fornisci una breve spiegazione dello scopo della funzione. Questa descrizione è fondamentale poiché aiuta l'AI generativa a comprendere quando e come utilizzare la funzione nel contesto di una conversazione.
- Webhook: Inserisci l'URL completo del webhook che verrà chiamato quando la funzione è invocata. Questo URL dovrebbe puntare a un endpoint che esegue la logica personalizzata della tua funzione.
- Metodo HTTP: Seleziona il metodo HTTP appropriato (GET, POST, PUT, DELETE) per la tua richiesta al webhook. La scelta dipende dall'azione che la funzione deve eseguire.
- Header HTTP: Qui puoi aggiungere eventuali header HTTP personalizzati necessari per la tua richiesta. Questi possono includere token di autenticazione o altri metadati richiesti dal tuo endpoint.
- Template query string: Definisci il formato della query string per la richiesta HTTP. Usa la sintassi {parametro} per indicare dove verranno inseriti i valori dinamici nella query string.
- Template body HTTP: Specifica il corpo della richiesta HTTP. Come per la query string, puoi usare {parametro} per indicare dove inserire valori dinamici nel corpo della richiesta.
- Invia header di estensione: Seleziona quali informazioni aggiuntive del contesto della conversazione vuoi includere nella richiesta. Queste possono includere l'ID della sessione, tag dell'utente, data e ora attuali, luogo, e variabili di contesto.
Nella sezione "Parametri", puoi definire i parametri accettati dalla tua function, specificando nome, descrizione e tipo per ciascuno. Si tratta di valori dinamici (nome, email, un messaggio) che l’AI può chiedere all’utente o dedurre dalla conversazione.
Puoi utilizzare la sezione "Test" per verificare il corretto funzionamento della tua function prima di implementarla.
Integrare le function nel tuo progetto
Una volta create, le function possono essere facilmente integrate nei tuoi twin AI. L'AI generativa sarà in grado di riconoscere quando è appropriato utilizzare una function e la invocherà automaticamente, arricchendo così le sue risposte con dati e azioni personalizzati.
Con le function, puoi creare esperienze AI più dinamiche e interattive, perfettamente adattate alle esigenze del tuo progetto o della tua organizzazione.
Attenzione: le function vengono eseguite direttamente dalla piattaforma di AIsuru, non dal modello linguistico sottostante (LLM). In questo modo, AIsuru sfrutta al massimo le capacità dell'AI, permettendole di interagire con sistemi esterni e eseguire azioni complesse in modo sicuro e controllato.
Esempio di configurazione di una function
Scenario: Creiamo un assistente AI che fornisce le condizioni meteorologiche attuali per qualsiasi città, utilizzando l'API gratuita di OpenWeatherMap.
Configurazione della function
- Accedi ad AIsuru e apri il pannello del tuo twin;
- Vai su "Intenti dinamici" > tab "Funzioni";
- Clicca "Nuova funzione".
Compila i campi:
- Nome: getCurrentWeather;
- Descrizione: Ottiene le condizioni meteorologiche attuali per una città specifica;
- Webhook: https://api.openweathermap.org/data/2.5/weather;
- Metodo HTTP: GET;
- Header HTTP: Content-Type:application/json;
- Template query string: q={city}&appid={API_KEY}&units=metric&lang=it
- Template body HTTP: (lascia vuoto).
Nota importante sulla sicurezza: La chiave API è inclusa direttamente nella query string come "appid". Sostituisci {API_KEY} con la tua chiave API di OpenWeatherMap. Per una sicurezza ottimale in ambiente di produzione, considera l'uso di variabili d'ambiente o sistemi di gestione dei segreti per memorizzare e accedere alla tua chiave API.
Per ottenere una chiave API di OpenWeatherMap:
- Vai su https://openweathermap.org/;
- Crea un account gratuito;
- Accedi alla sezione "API keys" nel tuo profilo;
- Usa la chiave generata.
Aggiungi il parametro alla function:
- Nome: CITY;
- Descrizione: Nome della città;
- Tipo: Stringa;
- Impostare il parametro come obbligatorio.
Test
- Nella sezione "Test", inserisci una città (es. "Roma");
- Clicca "Esegui test";
- Verifica che la risposta contenga i dati meteo corretti.
Istruzioni
Ricorda di spiegare l'utilizzo della funzione all'AI twin anche in Impostazioni > Prompt.
Esempio di interazione
- Utente: "Che tempo fa oggi a Milano?";
- Il Twin invoca getCurrentWeather con "Milano" come parametro, ottiene la risposta dalle API e risponde;
- Il Twin: "A Milano la temperatura è di 22°C con cielo sereno. L'umidità è al 45% e il vento soffia a 3.5 m/s. Vuoi sapere il meteo di un'altra città?".