Démarrage rapide avec Attu Desktop
1. Introduction
Attu est un outil d'administration tout-en-un et open-source pour Milvus. Il est doté d'une interface utilisateur graphique (GUI) intuitive qui vous permet d'interagir facilement avec vos bases de données. En quelques clics, vous pouvez visualiser l'état de votre cluster, gérer les métadonnées, effectuer des requêtes de données et bien plus encore.
2. Installer l'application de bureau
Téléchargez la version desktop d'Attu en visitant la page Attu GitHub Releases. Sélectionnez la version appropriée pour votre système d'exploitation et suivez les étapes d'installation.
Note pour macOS (puce de la série M) :
Si vous rencontrez l'erreur :
attu.app is damaged and cannot be opened.
Exécutez la commande suivante dans le terminal pour contourner ce problème :
sudo xattr -rd com.apple.quarantine /Applications/attu.app
3. Connexion à Milvus
Attu prend en charge la connexion à Milvus Standalone et à Zilliz Cloud, ce qui permet de travailler avec des bases de données locales ou hébergées dans le nuage.
Pour utiliser Milvus Standalone localement :
- Démarrez Milvus Standalone en suivant le guide d'installation de Milvus.
- Ouvrez Attu et saisissez les informations de connexion :
- Adresse Milvus : L'URI de votre serveur Milvus Standalone, par exemple http://localhost:19530
- Autres paramètres facultatifs : Vous pouvez les définir en fonction de vos configurations Milvus ou les laisser par défaut.
- Cliquez sur Connecter pour accéder à votre base de données.
Vous pouvez également connecter Milvus entièrement géré sur Zilliz Cloud. Il vous suffit de définir
Milvus Address
ettoken
sur le point de terminaison public et la clé API de votre instance Zilliz Cloud.
- Cliquez sur pour accéder à votre base de données.
4. Préparer les données, créer une collection et insérer des données
4.1 Préparer les données
Nous utilisons les pages FAQ de la documentation Milvus 2.4.x comme ensemble de données pour cet exemple.
Télécharger et extraire les données :
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
Traiter les fichiers 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 Générer des embeddings
Définir un modèle d'incorporation pour générer des incorporations de texte à l'aide du modèle milvus_model
. Nous utilisons le modèle DefaultEmbeddingFunction
comme exemple, qui est un modèle d'incorporation pré-entraîné et léger.
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])
Résultat :
768
[-0.04836066 0.07163023 -0.01130064 -0.03789345 -0.03320649 -0.01318448
-0.03041712 -0.02269499 -0.02317863 -0.00426028]
4.3 Créer une collection
Connectez-vous à Milvus et créez une collection :
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 Insérer des données
Interroger les lignes de texte, créer des enchâssements et insérer les données dans 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 Visualiser les données et le schéma
Nous pouvons maintenant visualiser le schéma de données et les entités insérées à l'aide de l'interface d'Attu. Le schéma affiche les champs définis, y compris un champ id
de type Int64
et un champ vector
de type FloatVector(768)
avec une métrique Inner Product (IP)
. La collection est chargée avec 72 entités.
En outre, nous pouvons voir les données insérées, y compris l'ID, les encastrements vectoriels et les champs dynamiques stockant des métadonnées telles que le contenu textuel. L'interface prend en charge le filtrage et l'interrogation sur la base de conditions spécifiées ou de champs dynamiques.
5. Visualisation des résultats de recherche et des relations
Attu fournit une interface puissante pour visualiser et explorer les relations entre les données. Pour examiner les points de données insérés et leurs relations de similarité, suivez les étapes suivantes :
5.1 Effectuer une recherche
Naviguez jusqu'à l'onglet Recherche vectorielle dans Attu.
- Cliquez sur le bouton Générer des données aléatoires pour créer des requêtes de test.
- Cliquez sur Rechercher pour obtenir des résultats basés sur les données générées.
Les résultats sont affichés dans un tableau, avec les identifiants, les scores de similarité et les champs dynamiques pour chaque entité correspondante.
5.2 Explorer les relations entre les données
Cliquez sur le bouton Explorer dans le panneau des résultats pour visualiser les relations entre le vecteur de la requête et les résultats de la recherche dans une structure de type graphe de connaissances.
- Le nœud central représente le vecteur de recherche.
- Les nœuds connectés représentent les résultats de la recherche. En cliquant sur ces nœuds, vous obtiendrez des informations détaillées sur le nœud correspondant.
5.3 Développer le graphe
Double-cliquez sur n'importe quel nœud de résultat pour développer ses connexions. Cette action révèle des relations supplémentaires entre le nœud sélectionné et d'autres points de données de la collection, créant ainsi un graphique de connaissances plus large et interconnecté.
Cette vue élargie permet une exploration plus approfondie de la manière dont les points de données sont liés, sur la base de la similarité vectorielle.
6. Conclusion
Attu simplifie la gestion et la visualisation des données vectorielles stockées dans Milvus. De l'insertion des données à l'exécution des requêtes et à l'exploration interactive, il fournit une interface intuitive pour traiter les tâches complexes de recherche vectorielle. Grâce à des fonctionnalités telles que la prise en charge des schémas dynamiques, les visualisations de recherche graphique et les filtres de requête flexibles, Attu permet aux utilisateurs d'analyser efficacement des ensembles de données à grande échelle.
En exploitant les outils d'exploration visuelle d'Attu, les utilisateurs peuvent mieux comprendre leurs données, identifier les relations cachées et prendre des décisions basées sur les données. Commencez à explorer vos propres ensembles de données dès aujourd'hui avec Attu et Milvus !