Les LLMs se basent sur le contenu acquis pendant son entraînement pour nous répondre. Or, nous cherchons à avoir des réponses nécessitant des connaissances précises, c’est pourquoi, par exemple, nous implémentons des RAG (Retrieval Augmented Generation (p.32)). Cela est coûteux de mettre en place les systèmes nécessaires (comme LangChain pour l’orchestration, Qdrant pour la base de données vectorielle), alors qu'ils sont très communs entre les cas d’usages. L’Assistant API d’OpenAI offre une solution clé en main (reposant sur GPT-4 (p.30) ou GPT-3.5) pour accélérer et gérer ces cas d’usages où un LLM interagit avec des outils externes (base de connaissance, APIs externes, environnement de calcul, etc.) et répondre aux mêmes cas d’usages en quelques clics.
Cette API, actuellement en phase beta, prend en charge trois types d’outils : Code Interpreter, Retrieval (utilisation de connaissances externes au modèle) et Function calling (appels de fonction déclenchés par le modèle). L’interaction avec l’API repose sur des objets abstraits (l’Assistant, le Thread, le Message et le Run), laissant la gestion de la fenêtre de contexte et de l’historique de chat au backend OpenAI (du point de vue de l’utilisateur, il n’y a pas de limite sur la taille de l’historique d’un Thread).
Attention néanmoins au coût des fichiers de la base de connaissances : c’est en fonction de l’espace disque utilisé ($0.20/GB/jour). Donc, si on stocke autre chose que du texte brut, cela peut représenter un coût significatif. De plus, le lock-in et le manque de maitrise sur le comportement du modèle (ingestion, chunking, logique de recherche, etc.), sont un revers inévitable d’une API haut-niveau managée.
NOTRE POINT DE VUE
Nous avons l’habitude de développer nous-mêmes les solutions comme les RAGs, mais nous réfléchissons de plus en plus à l’utiliser l’Assistant API pour créer des assistants LLM qui accède à une base de connaissance, des outils externes et un environnement Python. Nous attendons d’avoir plus de recul sur son utilisation en production à grande échelle pour avoir une recommandation définitive.