Cours

Lors du Dev Day d'OpenAI, l'entreprise a fait plusieurs annonces, dont une nouvelle API Assistants. Consultez nos articles sur GPT-4 Turbo et sur les GPTs et le GPT Store pour les autres nouveautés.
L'API Assistants étend l'API OpenAI existante afin de faciliter la création d'assistants IA, comme des chatbots, par les développeurs.
Quatre nouvelles fonctionnalités ont été annoncées :
- Des "threads" pour faciliter la gestion de conversations longues
- La "retrieval" pour stocker du texte
- L'interprétation de code intégrée
- Des améliorations de l'appel de fonctions.
Fonctionnalités clés de l'API Assistants
Passons en revue chacune de ces fonctionnalités plus en détail.
Gestion des conversations simplifiée avec les threads
Certaines tâches se traitent avec un unique prompt envoyé à l'API et une réponse en retour. Mais un chatbot exige une conversation plus longue (un "thread"). Jusqu'ici, il revenait au développeur de suivre l'état de la conversation et de décider quels messages précédents renvoyer à l'API. Plus la discussion s'allonge, plus il faut transmettre de texte à chaque appel, ce qui dégrade les performances.
De plus, une fois que la conversation dépasse la "fenêtre de contexte" (la quantité de texte que GPT peut prendre en compte en une fois), il faut faire des choix : écarter les anciens messages, les résumer, ou les stocker pour décider plus tard lesquels sont pertinents à inclure. Cela devient vite fastidieux et ralentit le développement.
Les nouveaux outils de threading font évoluer OpenAI d'un modèle "sans état" (sans mémoire) à un modèle "avec état". Les messages précédents peuvent être stockés côté OpenAI, évitant au développeur de gérer ces problématiques.
La retrieval permet de stocker du texte supplémentaire
La présentation d'OpenAI a également mentionné des outils de retrieval pour stocker du texte. Cela a été présenté comme une fonctionnalité distincte, même si le threading semble déjà s'appuyer dessus, rendant la séparation entre les deux un peu floue.
Les détails techniques étaient limités durant la présentation, mais on peut esquisser un fonctionnement probable. Aujourd'hui, intégrer de l'IA générative dans des applications repose généralement sur deux briques : un grand modèle de langage (LLM) comme GPT et une base de données vectorielle.
Les bases de données vectorielles stockent du texte (ou des images ou d'autres données non structurées) sous forme de vecteurs numériques via un procédé d'"embedding". On peut ensuite retrouver ces passages pour les inclure dans des prompts. Un cas d'usage courant consiste à conserver un référentiel de faits liés au sujet traité.
Par exemple, si vous créez un chatbot pour répondre aux questions sur les produits de votre entreprise, vous pouvez stocker l'information produit dans la base vectorielle et l'utiliser pour garantir des réponses factuelles et fiables de la part du LLM.
Les fonctionnalités de retrieval évoquées laissent penser que l'API Assistants pourrait donner un accès API à une base vectorielle. Au-delà de la simple capacité à gérer des conversations plus longues, cela ouvrirait des perspectives intéressantes, car vous n'auriez plus besoin d'une base vectorielle séparée comme Pinecone, Milvus ou Weaviate pour stocker vos textes.
Cela reste spéculatif à ce stade ; il faudra attendre des précisions concrètes sur l'API Assistants.
L'interprétation de code est intégrée
ChatGPT propose un outil Advanced Data Analysis qui permet à GPT de générer et d'exécuter du code Python à partir d'instructions en langage naturel. Même si la présentation d'OpenAI est restée évasive, il a été suggéré que cette capacité sera intégrée à l'API Assistants, afin que vous puissiez donner des prompts amenant GPT à exécuter du code Python.
Des appels de fonctions améliorés pour interagir plus facilement avec d'autres logiciels
La fonctionnalité d'appel de fonctions de l'API permet d'écrire une instruction en langage naturel et de faire renvoyer par GPT une chaîne JSON représentant l'appel à une fonction que vous avez définie. C'est essentiel pour les agents IA, conçus pour exécuter des tâches à partir d'instructions en langage naturel.
Deux améliorations sont annoncées. D'abord, un "mode JSON" garantit que la réponse est un JSON valide et respecte plus fidèlement la signature de fonction spécifiée. Jusqu'ici, la réponse pouvait être invalide, imposant une gestion d'erreurs robuste côté logiciel.
Ces nouveautés devraient simplifier la création d'agents IA et faciliter la mise en place d'interfaces en langage naturel avec des logiciels.
En résumé
Si la révolution de l'IA générative en 2023 a été spectaculaire, son intégration dans des logiciels existants exigeait d'importantes compétences d'ingénierie. L'API Assistants promet d'abaisser cette barrière et de permettre à davantage de produits d'embarquer ces technologies plus rapidement.
Pour aller plus loin
DataCamp propose plusieurs cours pour apprendre à utiliser l'API OpenAI. Commencez par Working with the OpenAI API, puis enchaînez avec Introduction to Embeddings with the OpenAI API.
Vous pouvez aussi découvrir l'API d'appel de fonctions dans le OpenAI Function Calling Tutorial.