ChatGPT-Retrieval-Plugin mit Zilliz und Milvus
Einführung
OpenAI, das Forschungslabor für künstliche Intelligenz, gab kürzlich bekannt, dass es den Code für ein Wissensdatenbank-Retrieval-Plugin als Open Source veröffentlicht hat. Dieses Projekt, an dem ich beteiligt war, ermöglicht es ChatGPT, seine Informationen zu erweitern, indem wissensbasierte Daten aus relevanten Dokumentausschnitten aus verschiedenen Datenquellen abgerufen werden. In diesem Blogbeitrag werde ich die Auswirkungen dieses Projekts und die Vorteile, die es Unternehmen bietet, erörtern.
Das Wissensdatenbank-Retrieval-Plugin
Das Wissensdatenbank-Retrieval-Plugin ist ein Tool, das es ChatGPT ermöglicht, Informationen aus relevanten Dokumentausschnitten abzurufen, die von einer externen Partei gehostet werden. ChatGPT kann relevante Daten aus verschiedenen Quellen abrufen, die Sie gesammelt und gespeichert haben, wie Dateien, Notizen oder E-Mails, indem es Fragen stellt oder Bedürfnisse in natürlicher Sprache ausdrückt. Diese Funktion bietet ChatGPT eine einfache und effiziente Möglichkeit, Informationen abzurufen, wodurch es genauer und zuverlässiger wird.
Vorteile für Unternehmen
Unternehmen können stark von diesem Plugin profitieren, indem sie ihre internen Dokumente ihren Mitarbeitern über ChatGPT zugänglich machen. Dies bietet Mitarbeitern eine optimierte Möglichkeit, Informationen aus internen Dokumenten abzurufen, ohne mehrere Quellen durchsuchen zu müssen. Es stellt außerdem sicher, dass die abgerufenen Informationen korrekt und aktuell sind. Entwickler können dieses Plugin auch verwenden, um ihre eigenen Wissensdatenbanken zu hosten, wodurch das Abrufen von Daten aus ihren eigenen Quellen erleichtert wird.
Funktionsweise
Das Plugin verwendet OpenAIs Embeddings-Modell text-embedding-ada-002, um Embeddings von Dokumentabschnitten zu generieren, und speichert und durchsucht die Embeddings anschließend in einer Vektordatenbank. Hier komme ich ins Spiel. Ich habe mit dem OpenAI-Team zusammengearbeitet, um Milvus und Zilliz zu einer der bevorzugten Vektordatenbanken für die Speicherung dieser Embeddings zu machen.
Die einfache API stellt die Endpunkte des Plugins zum Upserten, Abfragen und Löschen von Dokumenten bereit. Sie können Ihre Suchergebnisse mithilfe von Metadatenfiltern nach Quelle, Datum, Autor usw. verfeinern. Um Milvus oder Zilliz mit den neuesten Dokumenten auf dem aktuellen Stand zu halten, kann das Plugin Dokumente aus verschiedenen Datenquellen kontinuierlich verarbeiten und speichern, indem eingehende Webhooks an die Upsert- und Lösch-Endpunkte verwendet werden.
Hier ist ein kurzes Beispiel mit dem Zilliz Plugin, um die DRM-Richtlinie in Apples Nutzungsbedingungen (TOS) zu finden. ChatGPT beginnt damit, den Prompt in Zilliz Cloud zu durchsuchen, und fasst anschließend die Ergebnisse zusammen. Danach greift ChatGPT über das Retrieval-Plugin auf Zilliz zu, um nach den relevantesten Daten zu suchen.
So richten Sie Zilliz Cloud ein
Mit Zilliz Cloud müssen Sie einfach ein Konto erstellen und Ihre Instanz mit Ihren Embeddings einrichten. Hier ist der Schnellstart-Leitfaden und die Umgebungsvariablen im Retrieval-Plugin, die Sie konfigurieren müssen:
Umgebungsvariablen
| Name | Erforderlich | Beschreibung |
|---|---|---|
DATASTORE | Ja | Datastore-Name, auf zilliz setzen |
BEARER_TOKEN | Ja | Ihr geheimes Token |
OPENAI_API_KEY | Ja | Ihr OpenAI-API-Schlüssel |
ZILLIZ_COLLECTION | Optional | Name der Zilliz-Collection. Standardmäßig eine zufällige UUID |
ZILLIZ_URI | Optional | URI für die Zilliz-Instanz |
ZILLIZ_USER | Optional | Zilliz-Benutzername |
MILVUS_USER | Optional | Zilliz-Passwort |
Sobald Sie dies konfiguriert haben, führen Sie den folgenden Test aus, um mit diesem Befehl zu bestätigen, dass die Integration funktioniert.
pytest ./tests/datastore/providers/zilliz/test_zilliz_datastore.py
So richten Sie Milvus ein
Wenn Sie natürlich Open-Source-Milvus bevorzugen, können Sie Milvus mit Docker Compose, Helm, K8's Operator oder Ansible bereitstellen und verwalten. Befolgen Sie die Anweisungen, um loszulegen.
Umgebungsvariablen
| Name | Erforderlich | Beschreibung |
|---|---|---|
DATASTORE | Ja | Datastore-Name, auf milvus setzen |
BEARER_TOKEN | Ja | Ihr Bearer-Token |
OPENAI_API_KEY | Ja | Ihr OpenAI-API-Schlüssel |
MILVUS_COLLECTION | Optional | Milvus-Collection-Name, standardmäßig eine zufällige UUID |
MILVUS_HOST | Optional | Milvus-Host-IP, standardmäßig localhost |
MILVUS_PORT | Optional | Milvus-Port, standardmäßig 19530 |
MILVUS_USER | Optional | Milvus-Benutzername, wenn RBAC aktiviert ist, standardmäßig None |
MILVUS_PASSWORD | Optional | Milvus-Passwort, falls erforderlich, standardmäßig None |
Sobald Sie dies konfiguriert haben, führen Sie den folgenden Test aus, um mit diesem Befehl zu bestätigen, dass die Integration funktioniert.
pytest ./tests/datastore/providers/milvus/test_milvus_datastore.py
Das Plugin bereitstellen
Nachdem das Plugin getestet wurde, können wir mit der Bereitstellung fortfahren. ChatGPT greift auf Plugins zu, indem es Anfragen an den Ort sendet, an dem Ihr Plugin-Server läuft, sei es Amazon ECS, Fly.io, Heroku usw. Eine detaillierte Anleitung zur Konfiguration finden Sie im Deployment-Abschnitt der GitHub-readme.
Die Memory-Funktion
Eine der coolen Funktionen dieses neuen Plugins ist eine Funktion, die sie Memory nennen. Dadurch erhält ChatGPT die Fähigkeit, Informationen aus Konversationen zu speichern und in einer Vektordatenbank für die spätere Verwendung abzulegen.
Danksagungen
Dies war ein spannendes Projekt, und ich möchte dem OpenAI-Team von Isabella Fulford sowie dem Ziliz-Team von Frank Liu und Robert Guo danken. Wenn Sie Feedback haben oder es selbst ausprobieren möchten, sehen Sie sich das GitHub-Repo an. Ich persönlich freue mich darauf, zu einer der vielen großartigen Ideen beizutragen, die in der Readme des ChatGPT Retrieval Plugin aufgeführt sind!
Weiterlesen

Creating Collections in Zilliz Cloud Just Got Way Easier
We've enhanced the entire collection creation experience to bring advanced capabilities directly into the interface, making it faster and easier to build production-ready schemas without switching tools.

Zilliz Cloud Introduces Advanced BYOC-I Solution for Ultimate Enterprise Data Sovereignty
Explore Zilliz Cloud BYOC-I, the solution that balances AI innovation with data control, enabling secure deployments in finance, healthcare, and education sectors.

Similarity Metrics for Vector Search
Exploring five similarity metrics for vector search: L2 or Euclidean distance, cosine distance, inner product, and hamming distance.



