Non esiste un modo pratico per caricare l’intero database nella libreria di conoscenza statica di INNOCHAT mantenendo allo stesso tempo una connessione live… È proprio qui che entra in gioco il Function Calling.
Tramite il Function Calling puoi fornire al tuo agente IA in INNOCHAT dati on-demand durante una conversazione in corso. In questo esempio mostriamo come realizzare un arricchimento RAG con abstract di pubblicazioni scientifiche provenienti da un aggregatore esterno: l’API di Semantic Scholar.
Configurazione e test della funzione
Innanzitutto hai bisogno di una chiave API del tuo fornitore di dati esterno, se offre un’API protetta.Nel nostro caso abbiamo richiesto una chiave direttamente a Semantic Scholar. Poiché vogliamo arricchire le risposte del LLM con informazioni dalla ricerca scientifica, dobbiamo individuare l’endpoint API corretto per la ricerca.
Semantic Scholar fornisce una buona documentazione.

Cosa restituisce questo endpoint?
Per ispezionare la risposta abbiamo scritto un piccolo script che esegue una richiesta con parametri fissi.Il codice sorgente è riportato qui sotto.
Avrai bisogno della tua chiave API se vuoi provarlo tu stesso. Nell’esempio cerchiamo lavori rilevanti su “Multifidelity Optimization” e “Gaussian Processes”:
È SEMPRE consigliabile scrivere il tuo script e testare preventivamente la risposta dell’API. Devi sapere esattamente quali informazioni verranno trasmesse al tuo agente IA.
Creare e preparare l’agente IA
Nel tuo chatbot innoChat devi prima creare un agente IA adatto che riceverà questa capacità di Function Calling. Nel nostro esempio l’agente si chiama “The Professor”. Definiamo una descrizione dell’agente e un prompt di base.


Configurare la funzione
All’interno dell’agente vai nella scheda Functions. Imposta Response Context Limit al valore massimo consentito e clicca su Add function.

Definire l’endpoint API
L’endpoint di Semantic Scholar che utilizziamo è:Parametri fissi (Fixed Parameters)
I parametri fissi rimangono uguali per tutte le chiamate API. Rappresentano impostazioni globali (formato, campi attivi, funzionalità…). Alcune API richiedono che questi parametri siano aggiunti direttamente all’URL. Nel nostro esempio Semantic Scholar non servono parametri fissi. Un endpoint più complesso come: https://app.outscraper.com/api-docs#tag/Businesses-and-POI/paths/~1maps~1search-v3/get potrebbe apparire così:Headers e autenticazione
Le API pubbliche ma sicure richiedono quasi sempre autenticazione. Semantic Scholar non fa eccezione. Trasmettiamo la nostra chiave API negli headers. Il nome del campo header dipende dal fornitore. Nel nostro esempio si chiama x-api-key:
Parametri variabili
Passiamo ora ai parametri variabili (dinamici). Questi parametri dipendono dalla richiesta corrente dell’utente e vengono determinati in fase di esecuzione. Il LLM estrae dal dialogo stesso i valori da impostare e decide se e come effettuare la chiamata alla funzione. Per la nostra funzione definiamo:Testare il chatbot
Una volta configurato tutto: Salva la funzione Salva l’agente Passa alla scheda Preview
