Panduan Cepat Menggunakan Attu — Antarmuka Web Milvus
1. Pengantar
Attu adalah alat administrasi untuk Milvus. Alat ini dilengkapi dengan antarmuka pengguna grafis (GUI) yang intuitif, sehingga Anda dapat berinteraksi dengan basis data Anda dengan mudah. Hanya dengan beberapa klik, Anda dapat memvisualisasikan status kluster, mengelola metadata, menjalankan kueri data, dan banyak lagi.
Persyaratan
Sebelum memulai, siapkan hal-hal berikut:
- Server Milvus yang sedang berjalan dan dapat diakses oleh Attu serta lingkungan Python Anda. Tutorial ini menggunakan Milvus Standalone di
http://localhost:19530, bukan file Milvus Lite lokal.db. - Rilis Attu yang kompatibel dengan server Anda. Attu 3.0 mendukung Milvus 2.6.0 dan yang lebih baru, termasuk Milvus 3.x; gunakan tabel kompatibilitas untuk server yang lebih lama.
- Lingkungan Python dengan versi PyMilvus yang kompatibel dengan server Anda. Lihat Instal Milvus Python SDK dan Catatan Rilis. Untuk versi SDK yang digunakan di cabang dokumentasi ini, instal dependensi model extra dan progress-bar:
python3 -m pip install "pymilvus[model]==3.0.2" tqdm
Langkah-langkah persiapan data juga menggunakan wget dan unzip. Fungsi embedding mengunduh modelnya saat pertama kali digunakan, jadi izinkan akses jaringan ke host model atau siapkan cache model terlebih dahulu. Tangkapan layar menggambarkan alur kerja; label dan tata letak dapat berbeda antar rilis Attu.
2. Instal Aplikasi Desktop
Unduh versi desktop Attu dengan mengunjungi halaman Rilis GitHub Attu. Pilih versi yang sesuai untuk sistem operasi Anda dan ikuti langkah-langkah pemasangan.
Catatan untuk macOS (chip seri M):
Jika Anda menemui kesalahan:
attu.app is damaged and cannot be opened.
Jalankan perintah berikut di terminal untuk mengatasi masalah ini:
sudo xattr -rd com.apple.quarantine /Applications/attu.app
3. Terhubung ke Milvus
Attu mendukung koneksi ke Milvus Standalone dan Zilliz Cloud, sehingga memberikan fleksibilitas untuk bekerja dengan basis data lokal atau yang dihosting di cloud.
Untuk menggunakan Milvus Standalone secara lokal:
- Jalankan Milvus Standalone dengan mengikuti panduan instalasi Milvus.
- Buka Attu dan masukkan informasi koneksi:
- Alamat Milvus: URI server Milvus Standalone Anda, misalnya http://localhost:19530
- Pengaturan opsional lainnya: Anda dapat menyesuaikannya sesuai konfigurasi Milvus Anda atau membiarkannya sebagai pengaturan default.
- Klik "Connect" untuk mengakses basis data Anda.
Anda juga dapat menghubungkan Milvus yang dikelola sepenuhnya di Zilliz Cloud. Cukup atur "
Milvus Address" dan "token" ke " Public Endpoint" dan "API key " dari instance Zilliz Cloud Anda.
4. Siapkan Data, Buat Koleksi, dan Masukkan Data
4.1 Siapkan Data
Kami menggunakan halaman FAQ dari arsip Milvus Documentation 2.4.x yang tetap sebagai teks contoh. Arsip ini adalah kumpulan data pengambilan, bukan versi server atau SDK yang akan diinstal.
Unduh dan Ekstrak Data:
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
Proses Berkas Markdown:
from glob import glob
text_lines = []
for file_path in glob("milvus_docs/en/faq/*.md", recursive=True):
with open(file_path, "r", encoding="utf-8") as file:
file_text = file.read()
text_lines += file_text.split("# ")
if not text_lines:
raise RuntimeError("No FAQ files found. Check the extracted milvus_docs/en/faq directory.")
4.2 Menghasilkan Embedding
Tentukan model embedding untuk menghasilkan embedding teks menggunakan milvus_model. Kami menggunakan model DefaultEmbeddingFunction sebagai contoh, yang merupakan model embedding yang telah dilatih sebelumnya dan ringan.
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])
Hasil:
768
[-0.04836066 0.07163023 -0.01130064 -0.03789345 -0.03320649 -0.01318448
-0.03041712 -0.02269499 -0.02317863 -0.00426028]
4.3 Buat Koleksi
Hubungkan Python ke titik akhir Milvus dan basis data yang sama dengan yang Anda pilih di Attu. Jika otentikasi diaktifkan, konfigurasikan kredensial yang sesuai di kedua klien. Buat koleksi:
from pymilvus import MilvusClient
# Connect to Milvus Standalone
client = MilvusClient(uri="http://localhost:19530")
collection_name = "attu_tutorial"
# Drop the tutorial collection if it exists so the steps can be rerun from the top.
# Choose a different collection_name if "attu_tutorial" already holds data you want to keep.
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="Bounded", # Supported values are (`"Strong"`, `"Session"`, `"Bounded"`, `"Eventually"`). See https://milvus.io/docs/tune_consistency.md#Consistency-Level for more details.
)
4.4 Masukkan Data
Lakukan iterasi melalui baris-baris teks, buat embedding, dan masukkan data ke 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 Visualisasi Data dan Skema
Di Attu, segarkan daftar koleksi dan buka attu_tutorial. Skema pengaturan cepat mencakup kunci utama " id " dan bidang " vector " dengan dimensi " embedding_dim", serta metrik " Inner Product (IP) ". Nilai " text " disimpan di bidang dinamis. Lihat Buat Koleksi dan Bidang Dinamis untuk opsi skema yang eksplisit. Jumlah entitas bergantung pada teks sampel yang diekstraksi, jadi gunakan jumlah baris yang Anda sisipkan, bukan angka yang tertera pada tangkapan layar.
Selain itu, kita dapat melihat data yang disisipkan, termasuk ID, embedding vektor, dan bidang dinamis yang menyimpan metadata seperti konten teks. Antarmuka ini mendukung penyaringan dan pencarian berdasarkan kondisi yang ditentukan atau bidang dinamis.
5. Memvisualisasikan Hasil Pencarian dan Hubungan
Attu menyediakan antarmuka yang kuat untuk memvisualisasikan dan menjelajahi hubungan data. Untuk memeriksa titik data yang dimasukkan dan hubungan kesamaannya, ikuti langkah-langkah berikut:
5.1 Lakukan Pencarian
Buka tab Pencarian Vektor di Attu.
- Klik tombol Generate Random Data untuk membuat kueri uji.
- Klik " Search " untuk mengambil hasil berdasarkan data yang dihasilkan.
Hasilnya ditampilkan dalam tabel, yang menunjukkan ID, skor kemiripan, dan bidang dinamis untuk setiap entitas yang cocok. Vektor acak menguji alur kerja pencarian, bukan relevansi semantik. Untuk kueri teks yang bermakna, enkode kueri tersebut dengan fungsi " embedding_model.encode_queries() " yang sama yang digunakan untuk koleksi ini, lalu lakukan pencarian dengan vektor tersebut. Lihat "Single-Vector Search " untuk contoh dalam Python.
5.2 Jelajahi Hubungan Data
Klik tombol Jelajahi di panel hasil untuk memvisualisasikan hubungan antara vektor kueri dan hasil pencarian dalam struktur mirip grafik pengetahuan.
- Simpul pusat mewakili vektor pencarian.
- Simpul yang terhubung mewakili hasil pencarian; mengkliknya akan menampilkan informasi terperinci dari simpul yang bersangkutan.
5.3 Perluas Grafik
Klik ganda pada simpul hasil mana pun untuk memperluas koneksinya. Tindakan ini akan menampilkan hubungan tambahan antara simpul yang dipilih dan titik data lain dalam koleksi, sehingga menciptakan grafik pengetahuan yang lebih besar dan saling terhubung.
Tampilan yang diperluas ini memungkinkan eksplorasi lebih mendalam mengenai bagaimana titik-titik data saling terkait, berdasarkan kesamaan vektor.
6. Kesimpulan
Attu menyederhanakan pengelolaan dan visualisasi data vektor yang disimpan di Milvus. Mulai dari penyisipan data hingga eksekusi kueri dan eksplorasi interaktif, Attu menyediakan antarmuka intuitif untuk menangani tugas pencarian vektor yang kompleks. Dengan fitur seperti dukungan skema dinamis, visualisasi pencarian grafis, dan filter kueri yang fleksibel, Attu memberdayakan pengguna untuk menganalisis kumpulan data berskala besar secara efektif.
Dengan memanfaatkan alat eksplorasi visual Attu, pengguna dapat lebih memahami data mereka, mengidentifikasi hubungan tersembunyi, dan mengambil keputusan berdasarkan data. Mulailah menjelajahi kumpulan data Anda sendiri hari ini dengan Attu dan Milvus!