Plugin de récupération ChatGPT avec Zilliz et Milvus

Mar 24, 20234 min read

Introduction

OpenAI, le laboratoire de recherche en intelligence artificielle, a récemment annoncé avoir rendu open source le code d’un plugin de récupération de base de connaissances. Ce projet, auquel j’ai participé, permet à ChatGPT d’enrichir ses informations en récupérant des données fondées sur des connaissances à partir d’extraits de documents pertinents provenant de diverses sources de données. Dans cet article de blog, j’aborderai les implications de ce projet et les avantages qu’il offre aux entreprises.

Le plugin de récupération de base de connaissances

Le plugin de récupération de base de connaissances est un outil qui permet à ChatGPT de récupérer des informations à partir d’extraits de documents pertinents hébergés par une partie externe. ChatGPT peut récupérer des données pertinentes à partir de diverses sources que vous avez collectées et stockées, telles que des fichiers, des notes ou des e-mails, en posant des questions ou en exprimant des besoins en langage naturel. Cette fonctionnalité offre à ChatGPT un moyen simple et efficace de récupérer des informations, le rendant plus précis et fiable.

Avantages pour les entreprises

Les entreprises peuvent grandement bénéficier de ce plugin en rendant leurs documents internes accessibles à leurs employés via ChatGPT. Cela offre aux employés un moyen simplifié de récupérer des informations à partir de documents internes sans rechercher dans plusieurs sources. Cela garantit également que les informations récupérées sont exactes et à jour. Les développeurs peuvent également utiliser ce plugin pour héberger leurs propres bases de connaissances, ce qui facilite la récupération de données à partir de leurs propres sources.

Fonctionnement

Le plugin utilise le modèle d’embeddings text-embedding-ada-002 d’OpenAI pour générer des embeddings de fragments de documents, puis stocke et interroge l’embedding dans une base de données vectorielle. C’est là que j’interviens. J’ai travaillé avec l’équipe d’OpenAI pour faire de Milvus et Zilliz l’une des bases de données vectorielles privilégiées pour stocker ces embeddings.

L’API simple expose les endpoints du plugin pour l’insertion/mise à jour, l’interrogation et la suppression de documents. Vous pouvez affiner leurs résultats de recherche à l’aide de filtres de métadonnées par source, date, auteur, etc. Pour maintenir Milvus ou Zilliz à jour avec les derniers documents, le plugin peut traiter et stocker en continu des documents provenant de diverses sources de données, en utilisant des webhooks entrants vers les endpoints d’insertion/mise à jour et de suppression.

Voici un exemple rapide utilisant le plugin Zilliz pour trouver la politique DRM dans les conditions d’utilisation (TOS) d’Apple. ChatGPT commence par rechercher le prompt dans Zilliz Cloud, puis résume les résultats. ChatGPT accède ensuite à Zilliz via le plugin de récupération pour rechercher les données les plus pertinentes.

Comment configurer Zilliz Cloud

Avec Zilliz Cloud, il vous suffit de créer un compte et de configurer votre instance avec vos embeddings. Voici le guide de démarrage rapide et les variables d’environnement du plugin de récupération que vous devez configurer :

Variables d’environnement

NameRequiredDescription
DATASTOREOuiNom du datastore, défini sur zilliz
BEARER_TOKENOuiVotre token secret
OPENAI_API_KEYOuiVotre clé API OpenAI
ZILLIZ_COLLECTIONFacultatifNom de la collection Zilliz. Par défaut, un UUID aléatoire
ZILLIZ_URIFacultatifURI de l’instance Zilliz
ZILLIZ_USERFacultatifNom d’utilisateur Zilliz
MILVUS_USERFacultatifMot de passe Zilliz

Une fois cette configuration effectuée, exécutez le test suivant pour confirmer que l’intégration fonctionne avec cette commande. pytest ./tests/datastore/providers/zilliz/test_zilliz_datastore.py

Comment configurer Milvus

Bien sûr, si vous préférez Milvus open source, vous pouvez déployer et gérer Milvus à l’aide de Docker Compose, Helm, de l’Operator K8, ou d’Ansible. Suivez les instructions pour commencer.

Variables d’environnement

NomObligatoireDescription
DATASTOREOuiNom du datastore, défini sur milvus
BEARER_TOKENOuiVotre bearer token
OPENAI_API_KEYOuiVotre clé API OpenAI
MILVUS_COLLECTIONFacultatifNom de la collection Milvus, par défaut un UUID aléatoire
MILVUS_HOSTFacultatifIP de l’hôte Milvus, par défaut localhost
MILVUS_PORTFacultatifPort Milvus, par défaut 19530
MILVUS_USERFacultatifNom d’utilisateur Milvus si RBAC est activé, par défaut None
MILVUS_PASSWORDFacultatifMot de passe Milvus si nécessaire, par défaut None

Une fois cette configuration effectuée, exécutez le test suivant pour confirmer que l’intégration fonctionne avec cette commande. pytest ./tests/datastore/providers/milvus/test_milvus_datastore.py

Déployer le plugin

Une fois le plugin testé, nous pouvons passer à son déploiement. ChatGPT accède aux plugins en envoyant des requêtes à l’endroit où votre serveur de plugin est en cours d’exécution, que ce soit Amazon ECS, Fly.io, Heroku, etc. Pour un guide détaillé sur la configuration de cela, consultez la section Deployment dans le readme GitHub.

La fonctionnalité Memory

L’une des fonctionnalités intéressantes de ce nouveau plugin est une fonctionnalité qu’ils appellent memory. Cela donne à ChatGPT la capacité de se souvenir des informations issues des conversations et de les stocker dans une base de données vectorielle pour une utilisation ultérieure.

Remerciements

Ce fut un projet amusant et j’aimerais remercier l’équipe OpenAI composée de Isabella Fulford ainsi que l’équipe Ziliz composée de Frank Liu et Robert Guo. Si vous avez des retours ou souhaitez l’essayer vous-même, consultez le repo GitHub. Personnellement, j’ai hâte de contribuer à l’une des nombreuses excellentes idées listées dans le readme du ChatGPT Retrieval Plugin !

Mis à jour le Jul 09, 2026