Schnellstart mit Attu Desktop
1. Einführung
Attu ist ein umfassendes Open-Source-Verwaltungstool für Milvus. Es verfügt über eine intuitive grafische Benutzeroberfläche (GUI), die Ihnen eine einfache Interaktion mit Ihren Datenbanken ermöglicht. Mit nur wenigen Klicks können Sie den Status Ihres Clusters visualisieren, Metadaten verwalten, Datenabfragen durchführen und vieles mehr.
2. Desktop-Anwendung installieren
Laden Sie die Desktop-Version von Attu herunter, indem Sie die Attu GitHub Releases-Seite besuchen. Wählen Sie die entsprechende Version für Ihr Betriebssystem aus und folgen Sie den Installationsschritten.
Hinweis für macOS (Chip der M-Serie):
Wenn Sie auf den Fehler stoßen:
attu.app is damaged and cannot be opened.
Führen Sie den folgenden Befehl im Terminal aus, um dieses Problem zu umgehen:
sudo xattr -rd com.apple.quarantine /Applications/attu.app
3. Verbinden mit Milvus
Attu unterstützt sowohl die Verbindung zu Milvus Standalone als auch zu Zilliz Cloud und bietet so die Flexibilität, mit lokalen oder in der Cloud gehosteten Datenbanken zu arbeiten.
Um Milvus Standalone lokal zu verwenden:
- Starten Sie Milvus Standalone, indem Sie der Milvus-Installationsanleitung folgen.
- Öffnen Sie Attu und geben Sie die Verbindungsinformationen ein:
- Milvus-Adresse: Ihre Milvus Standalone-Server-URI, z. B. http://localhost:19530
- Andere optionale Einstellungen: Sie können diese je nach Ihren Milvus-Konfigurationen einstellen oder sie einfach als Standard belassen.
- Klicken Sie auf Verbinden, um auf Ihre Datenbank zuzugreifen.
Sie können auch das vollständig verwaltete Milvus auf der Zilliz Cloud verbinden. Setzen Sie einfach
Milvus Address
undtoken
auf den öffentlichen Endpunkt und den API-Schlüssel Ihrer Zilliz Cloud-Instanz.
- Klicken Sie auf , um auf Ihre Datenbank zuzugreifen.
4. Daten vorbereiten, Sammlung erstellen und Daten einfügen
4.1 Bereiten Sie die Daten vor
Wir verwenden die FAQ-Seiten aus der Milvus-Dokumentation 2.4.x als Datensatz für dieses Beispiel.
Daten herunterladen und extrahieren:
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
Markdown-Dateien verarbeiten:
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 Einbettungen generieren
Definieren Sie ein Einbettungsmodell, um Texteinbettungen unter Verwendung von milvus_model
zu generieren. Wir verwenden das Modell DefaultEmbeddingFunction
als Beispiel, das ein vortrainiertes und leichtgewichtiges Einbettungsmodell ist.
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])
Ausgabe:
768
[-0.04836066 0.07163023 -0.01130064 -0.03789345 -0.03320649 -0.01318448
-0.03041712 -0.02269499 -0.02317863 -0.00426028]
4.3 Sammlung erstellen
Verbinden Sie sich mit Milvus und erstellen Sie eine Sammlung:
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 Daten einfügen
Iterieren Sie durch die Textzeilen, erstellen Sie Einbettungen und fügen Sie die Daten in Milvus ein:
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 Daten und Schema visualisieren
Nun können wir das Datenschema und die eingefügten Entitäten mit Hilfe der Attu-Schnittstelle visualisieren. Das Schema zeigt definierte Felder an, darunter ein id
Feld vom Typ Int64
und ein vector
Feld vom Typ FloatVector(768)
mit einer Inner Product (IP)
Metrik. Die Sammlung ist mit 72 Entitäten geladen.
Außerdem können die eingefügten Daten angezeigt werden, einschließlich ID, Vektoreinbettungen und dynamische Felder, die Metadaten wie Textinhalte speichern. Die Schnittstelle unterstützt die Filterung und Abfrage auf der Grundlage bestimmter Bedingungen oder dynamischer Felder.
5. Visualisierung von Suchergebnissen und Relationen
Attu bietet eine leistungsstarke Schnittstelle zur Visualisierung und Erkundung von Datenbeziehungen. Um die eingefügten Datenpunkte und ihre Ähnlichkeitsbeziehungen zu untersuchen, gehen Sie wie folgt vor:
5.1 Durchführen einer Suche
Navigieren Sie zur Registerkarte Vektorsuche in Attu.
- Klicken Sie auf die Schaltfläche Zufallsdaten generieren, um Testabfragen zu erstellen.
- Klicken Sie auf Suchen, um die Ergebnisse auf der Grundlage der generierten Daten abzurufen.
Die Ergebnisse werden in einer Tabelle mit IDs, Ähnlichkeitswerten und dynamischen Feldern für jede übereinstimmende Entität angezeigt.
5.2 Untersuchen von Datenbeziehungen
Klicken Sie auf die Schaltfläche Erkunden im Ergebnisbereich, um die Beziehungen zwischen dem Suchvektor und den Suchergebnissen in einer wissensgraphenähnlichen Struktur zu visualisieren.
- Der zentrale Knoten stellt den Suchvektor dar.
- Die verbundenen Knoten stellen die Suchergebnisse dar. Wenn Sie auf sie klicken, werden die detaillierten Informationen des entsprechenden Knotens angezeigt.
5.3 Erweitern des Graphen
Doppelklicken Sie auf einen beliebigen Ergebnisknoten, um seine Verbindungen zu erweitern. Dadurch werden zusätzliche Beziehungen zwischen dem ausgewählten Knoten und anderen Datenpunkten in der Sammlung sichtbar, wodurch ein größerer, miteinander verbundener Wissensgraph entsteht.
Diese erweiterte Ansicht ermöglicht eine genauere Untersuchung der Beziehungen zwischen den Datenpunkten auf der Grundlage der Vektorähnlichkeit.
6. Fazit
Attu vereinfacht die Verwaltung und Visualisierung der in Milvus gespeicherten Vektordaten. Von der Dateneingabe über die Ausführung von Abfragen bis hin zur interaktiven Erkundung bietet es eine intuitive Schnittstelle für die Bearbeitung komplexer Vektorsuchaufgaben. Mit Funktionen wie der Unterstützung dynamischer Schemata, grafischen Suchvisualisierungen und flexiblen Abfragefiltern versetzt Attu die Benutzer in die Lage, große Datensätze effektiv zu analysieren.
Mit den visuellen Explorationswerkzeugen von Attu können Benutzer ihre Daten besser verstehen, versteckte Beziehungen erkennen und datengestützte Entscheidungen treffen. Beginnen Sie noch heute damit, Ihre eigenen Daten mit Attu und Milvus zu erforschen!