Avvio rapido con Attu Desktop
1. Introduzione
Attu è uno strumento di amministrazione open-source completo per Milvus. È dotato di un'interfaccia grafica intuitiva (GUI) che consente di interagire facilmente con i database. Con pochi clic è possibile visualizzare lo stato del cluster, gestire i metadati, eseguire query sui dati e molto altro ancora.
2. Installazione dell'applicazione desktop
Scaricate la versione desktop di Attu visitando la pagina Attu GitHub Releases. Selezionare la versione appropriata per il proprio sistema operativo e seguire i passaggi di installazione.
Nota per macOS (chip serie M):
Se si verifica l'errore:
attu.app is damaged and cannot be opened.
Eseguire il seguente comando nel terminale per aggirare il problema:
sudo xattr -rd com.apple.quarantine /Applications/attu.app
3. Connettersi a Milvus
Attu supporta la connessione sia a Milvus Standalone che a Zilliz Cloud, offrendo la flessibilità di lavorare con database locali o ospitati nel cloud.
Per utilizzare Milvus Standalone localmente:
- Avviare Milvus Standalone seguendo la guida all'installazione di Milvus.
- Aprire Attu e inserire le informazioni di connessione:
- Indirizzo Milvus: L'URI del vostro server Milvus Standalone, ad esempio http://localhost:19530.
- Altre impostazioni opzionali: È possibile impostarle a seconda delle configurazioni di Milvus o lasciarle come predefinite.
- Fare clic su Connetti per accedere al database.
È anche possibile collegare Milvus completamente gestito su Zilliz Cloud. È sufficiente impostare
Milvus Address
etoken
con l'endpoint pubblico e la chiave API della vostra istanza Zilliz Cloud.
- Fare clic per accedere al database.
4. Preparare i dati, creare la raccolta e inserire i dati
4.1 Preparazione dei dati
Per questo esempio utilizziamo le pagine FAQ della Documentazione Milvus 2.4.x come set di dati.
Scaricare ed estrarre i dati:
wget https://github.com/milvus-io/milvus-docs/releases/download/v2.4.6-preview/milvus_docs_2.4.x_en.zip
unzip -q milvus_docs_2.4.x_en.zip -d milvus_docs
Elaborare i file Markdown:
from glob import glob
text_lines = []
for file_path in glob("milvus_docs/en/faq/*.md", recursive=True):
with open(file_path, "r") as file:
file_text = file.read()
text_lines += file_text.split("# ")
4.2 Generare le incorporazioni
Definire un modello di embedding per generare embeddings di testo usando milvus_model
. Come esempio usiamo il modello DefaultEmbeddingFunction
, che è un modello di embedding preaddestrato e leggero.
from pymilvus import model as milvus_model
embedding_model = milvus_model.DefaultEmbeddingFunction()
# Generate test embedding
test_embedding = embedding_model.encode_queries(["This is a test"])[0]
embedding_dim = len(test_embedding)
print(embedding_dim)
print(test_embedding[:10])
Output:
768
[-0.04836066 0.07163023 -0.01130064 -0.03789345 -0.03320649 -0.01318448
-0.03041712 -0.02269499 -0.02317863 -0.00426028]
4.3 Creare la raccolta
Collegarsi a Milvus e creare una raccolta:
from pymilvus import MilvusClient
# Connect to Milvus Standalone
client = MilvusClient(uri="http://localhost:19530")
collection_name = "attu_tutorial"
# Drop collection if it exists
if client.has_collection(collection_name):
client.drop_collection(collection_name)
# Create a new collection
client.create_collection(
collection_name=collection_name,
dimension=embedding_dim,
metric_type="IP", # Inner product distance
consistency_level="Strong"
)
4.4 Inserire i dati
Iterare le righe di testo, creare le incorporazioni e inserire i dati in Milvus:
from tqdm import tqdm
data = []
doc_embeddings = embedding_model.encode_documents(text_lines)
for i, line in enumerate(tqdm(text_lines, desc="Creating embeddings")):
data.append({"id": i, "vector": doc_embeddings[i], "text": line})
client.insert(collection_name=collection_name, data=data)
4.5 Visualizzare i dati e lo schema
Ora possiamo visualizzare lo schema dei dati e le entità inserite utilizzando l'interfaccia di Attu. Lo schema mostra i campi definiti, compreso un campo id
di tipo Int64
e un campo vector
di tipo FloatVector(768)
con una metrica Inner Product (IP)
. La collezione è caricata con 72 entità.
Inoltre, è possibile visualizzare i dati inseriti, tra cui ID, incorporazioni vettoriali e campi dinamici che memorizzano metadati come il contenuto del testo. L'interfaccia supporta il filtraggio e l'interrogazione in base a condizioni specifiche o a campi dinamici.
5. Visualizzazione dei risultati della ricerca e delle relazioni
Attu offre una potente interfaccia per la visualizzazione e l'esplorazione delle relazioni tra i dati. Per esaminare i punti di dati inseriti e le loro relazioni di similarità, procedere come segue:
5.1 Eseguire una ricerca
Passare alla scheda Ricerca vettoriale di Attu.
- Fare clic sul pulsante Genera dati casuali per creare query di prova.
- Fare clic su Cerca per recuperare i risultati in base ai dati generati.
I risultati vengono visualizzati in una tabella che mostra ID, punteggi di somiglianza e campi dinamici per ogni entità corrispondente.
5.2 Esplorare le relazioni tra i dati
Fare clic sul pulsante Esplora nel pannello dei risultati per visualizzare le relazioni tra il vettore della query e i risultati della ricerca in una struttura simile a un grafo della conoscenza.
- Il nodo centrale rappresenta il vettore di ricerca.
- I nodi collegati rappresentano i risultati della ricerca; facendo clic su di essi si visualizzano le informazioni dettagliate del nodo corrispondente.
5.3 Espansione del grafico
Fare doppio clic su qualsiasi nodo dei risultati per espanderne le connessioni. Questa azione rivela ulteriori relazioni tra il nodo selezionato e altri punti di dati della raccolta, creando un grafo della conoscenza più ampio e interconnesso.
Questa vista espansa consente un'esplorazione più approfondita del modo in cui i punti di dati sono correlati, in base alla somiglianza vettoriale.
6. Conclusione
Attu semplifica la gestione e la visualizzazione dei dati vettoriali archiviati in Milvus. Dall'inserimento dei dati all'esecuzione delle query e all'esplorazione interattiva, fornisce un'interfaccia intuitiva per gestire complesse attività di ricerca vettoriale. Grazie a funzioni come il supporto di schemi dinamici, visualizzazioni grafiche di ricerca e filtri flessibili per le query, Attu consente agli utenti di analizzare efficacemente insiemi di dati su larga scala.
Sfruttando gli strumenti di esplorazione visiva di Attu, gli utenti possono comprendere meglio i propri dati, identificare relazioni nascoste e prendere decisioni basate sui dati. Iniziate oggi stesso a esplorare i vostri set di dati con Attu e Milvus!