Il n’existe pas de moyen pratique de charger l’intégralité d’une base de données dans la bibliothèque de connaissances statique d’INNOCHAT tout en maintenant une connexion live… C’est précisément ici qu’intervient le Function Calling.
Grâce au Function Calling, vous pouvez fournir à votre agent IA dans INNOCHAT des données à la demande pendant une conversation en cours. Dans cet exemple, nous montrons comment réaliser un enrichissement RAG avec des résumés (abstracts) d’articles scientifiques provenant d’un agrégateur externe : l’API Semantic Scholar.
Configuration et test de la fonction
Tout d’abord, vous avez besoin d’une clé API de votre fournisseur de données externe, s’il propose une API sécurisée.Dans notre cas, nous avons obtenu une clé directement auprès de Semantic Scholar. Puisque nous souhaitons enrichir nos réponses LLM avec des informations issues de la recherche scientifique, nous devons identifier l’endpoint API approprié pour effectuer une recherche.
Semantic Scholar fournit une bonne documentation.

Que retourne cet endpoint ?
Pour inspecter la réponse, nous avons écrit un petit script qui exécute une requête avec des paramètres fixes.Le code source est présenté ci-dessous.
Vous aurez besoin de votre propre clé API si vous souhaitez le tester vous-même. Dans l’exemple, nous recherchons des travaux pertinents sur « Multifidelity Optimization » et « Gaussian Processes » :
Il est TOUJOURS recommandé d’écrire votre propre script et de tester la réponse de l’API au préalable. Vous devez savoir exactement quelles informations seront transmises à votre agent IA.
Créer et préparer l’agent IA
Dans votre chatbot innoChat, commencez par créer un agent IA adapté qui recevra cette capacité de Function Calling. Dans notre exemple, l’agent s’appelle « The Professor ». Nous définissons une description d’agent et un prompt de base.


Configurer la fonction
À l’intérieur de l’agent, passez dans l’onglet Functions. Définissez Response Context Limit au maximum autorisé et cliquez sur Add function.

Définir l’endpoint API
L’endpoint Semantic Scholar que nous utilisons est :Paramètres fixes (Fixed Parameters)
Les paramètres fixes restent identiques pour tous les appels API. Ils représentent des réglages globaux (format, champs activés, fonctionnalités…). Certaines APIs exigent que ces paramètres soient ajoutés directement à l’URL. Dans notre exemple Semantic Scholar, aucun paramètre fixe n’est nécessaire. Un endpoint plus complexe comme : https://app.outscraper.com/api-docs#tag/Businesses-and-POI/paths/~1maps~1search-v3/get pourrait ressembler à :Headers et authentification
Les APIs publiques mais sécurisées demandent presque toujours une authentification. Semantic Scholar ne fait pas exception. Nous transmettons notre clé API dans les headers. Le nom du champ header dépend du fournisseur. Dans notre exemple il s’appelle x-api-key :
Paramètres variables
Passons maintenant aux paramètres variables (dynamiques). Ces paramètres dépendent de la requête actuelle de l’utilisateur et sont déterminés à l’exécution. Le LLM extrait lui-même du dialogue les valeurs à utiliser et décide s’il doit (et comment) appeler la fonction. Pour notre fonction, nous définissons :
