Plugin di recupero ChatGPT con Zilliz e Milvus
Introduzione
OpenAI, il laboratorio di ricerca sull'intelligenza artificiale, ha recentemente annunciato di aver reso open-source il codice per un plugin di recupero della knowledge base. Questo progetto, in cui sono stato coinvolto, consente a ChatGPT di arricchire le proprie informazioni recuperando dati basati sulla conoscenza da frammenti di documenti pertinenti provenienti da varie fonti di dati. In questo post del blog, discuterò le implicazioni di questo progetto e i vantaggi che offre alle aziende.
Il plugin di recupero della knowledge base
Il plugin di recupero della knowledge base è uno strumento che consente a ChatGPT di recuperare informazioni da frammenti di documenti pertinenti ospitati da una parte esterna. ChatGPT può recuperare dati pertinenti da varie fonti che hai raccolto e archiviato, come file, note o email, ponendo domande o esprimendo esigenze in linguaggio naturale. Questa funzionalità offre a ChatGPT un modo semplice ed efficiente per recuperare informazioni, rendendolo più accurato e affidabile.
Vantaggi per le aziende
Le aziende possono trarre grandi benefici da questo plugin rendendo i propri documenti interni disponibili ai dipendenti tramite ChatGPT. Questo offre ai dipendenti un modo semplificato per recuperare informazioni dai documenti interni senza cercare in più fonti. Garantisce inoltre che le informazioni recuperate siano accurate e aggiornate. Anche gli sviluppatori possono utilizzare questo plugin per ospitare le proprie knowledge base, rendendo più semplice il recupero dei dati dalle proprie fonti.
Come funziona
Il plugin utilizza il modello di embeddings text-embedding-ada-002 di OpenAI per generare embeddings di porzioni di documenti e quindi archivia e interroga l'embedding in un database vettoriale. È qui che entro in gioco io. Ho lavorato con il team di OpenAI per rendere Milvus e Zilliz uno dei database vettoriali preferiti per archiviare questi embeddings.
La semplice API espone gli endpoint del plugin per inserire o aggiornare, interrogare ed eliminare documenti. Puoi perfezionare i risultati della ricerca utilizzando filtri sui metadati per fonte, data, autore, ecc. Per mantenere Milvus o Zilliz aggiornati con i documenti più recenti, il plugin può elaborare e archiviare continuamente documenti da varie fonti di dati, utilizzando webhook in ingresso verso gli endpoint di upsert ed eliminazione.
Ecco un rapido esempio con l'uso del plugin Zilliz per trovare la policy DRM nei termini di servizio (TOS) di Apple. ChatGPT inizia cercando il prompt all'interno di Zilliz Cloud e poi riassume i risultati. ChatGPT accede quindi a Zilliz tramite il plugin di recupero per cercare i dati più pertinenti.
Come configurare Zilliz Cloud
Con Zilliz Cloud devi semplicemente creare un account e configurare la tua istanza con i tuoi embeddings. Ecco la guida di avvio rapido e le variabili d'ambiente nel plugin di recupero che devi configurare:
Variabili d'ambiente
| Nome | Richiesto | Descrizione |
|---|---|---|
DATASTORE | Sì | Nome del datastore, impostato su zilliz |
BEARER_TOKEN | Sì | Il tuo token segreto |
OPENAI_API_KEY | Sì | La tua chiave API OpenAI |
ZILLIZ_COLLECTION | Opzionale | Nome della collection Zilliz. Il valore predefinito è un UUID casuale |
ZILLIZ_URI | Opzionale | URI per l'istanza Zilliz |
ZILLIZ_USER | Opzionale | Nome utente Zilliz |
MILVUS_USER | Opzionale | Password Zilliz |
Una volta configurato, esegui il seguente test per confermare che l’integrazione funzioni con questo comando.
pytest ./tests/datastore/providers/zilliz/test_zilliz_datastore.py
Come configurare Milvus
Naturalmente, se preferisci Milvus open source, puoi distribuire e gestire Milvus usando Docker Compose, Helm, l’Operator di K8 o Ansible. Segui le istruzioni per iniziare.
Variabili d’ambiente
| Name | Required | Description |
|---|---|---|
DATASTORE | Sì | Nome del datastore, impostato su milvus |
BEARER_TOKEN | Sì | Il tuo bearer token |
OPENAI_API_KEY | Sì | La tua chiave API OpenAI |
MILVUS_COLLECTION | Opzionale | Nome della collection Milvus, valore predefinito: un UUID casuale |
MILVUS_HOST | Opzionale | IP host Milvus, valore predefinito: localhost |
MILVUS_PORT | Opzionale | Porta Milvus, valore predefinito: 19530 |
MILVUS_USER | Opzionale | Nome utente Milvus se RBAC è abilitato, valore predefinito: None |
MILVUS_PASSWORD | Opzionale | Password Milvus se richiesta, valore predefinito: None |
Una volta configurato, esegui il seguente test per confermare che l’integrazione funzioni con questo comando.
pytest ./tests/datastore/providers/milvus/test_milvus_datastore.py
Distribuire il plugin
Con il plugin testato possiamo passare alla sua distribuzione. ChatGPT accede ai plugin inviando richieste a ovunque sia in esecuzione il server del tuo plugin, che sia Amazon ECS, Fly.io, Heroku, ecc. Per una guida dettagliata su come configurarlo, dai un’occhiata alla sezione Deployment nel readme di GitHub.
La funzionalità Memory
Una delle funzionalità interessanti di questo nuovo plugin è una funzionalità che chiamano memory. Questo dà a ChatGPT la capacità di ricordare informazioni dalle conversazioni e archiviarle in un database vettoriale per un uso successivo.
Ringraziamenti
È stato un progetto divertente e vorrei ringraziare il team OpenAI di Isabella Fulford e il team Ziliz di Frank Liu e Robert Guo. Se hai feedback o vuoi provarlo personalmente, consulta il repo GitHub. Personalmente non vedo l’ora di contribuire a una delle tante ottime idee elencate nel readme del ChatGPT Retrieval Plugin!
Continua a leggere

Build for the Boom: Why AI Agent Startups Should Build Scalable Infrastructure Early
Explore strategies for developing AI agents that can handle rapid growth. Don't let inadequate systems undermine your success during critical breakthrough moments.

What Exactly Are AI Agents? Why OpenAI and LangChain Are Fighting Over Their Definition?
AI agents are software programs powered by AI that can perceive their environment, make decisions, and take actions to achieve a goal—often autonomously.
Milvus/Zilliz + Surveillance: How Vector Databases Transform Multi-Camera Tracking
See how Milvus vector database enhances multi-camera tracking with similarity-based matching for better surveillance in retail, warehouses and transport hubs.



