Dari Faiss
Panduan ini menyediakan proses langkah demi langkah yang komprehensif untuk memigrasikan data dari Faiss ke Milvus 2.x. Dengan mengikuti panduan ini, Anda akan dapat mentransfer data secara efisien, memanfaatkan fitur-fitur canggih Milvus 2.x, dan meningkatkan kinerja.
Prasyarat
- Versi perangkat lunak:
- Sumber Faiss
- Target Milvus: 2.x
- Untuk detail instalasi, lihat Menginstal Faiss dan Menginstal Milvus.
- Alat yang dibutuhkan:
- Alatmigrasi Milvus. Untuk detail instalasi, lihat Menginstal Alat Migrasi.
Mengkonfigurasi migrasi
Simpan berkas konfigurasi migrasi contoh sebagai migration.yaml dan modifikasi konfigurasi berdasarkan kondisi aktual Anda. Anda bebas meletakkan berkas konfigurasi di direktori lokal mana pun.
dumper: # configs for the migration job.
worker:
limit: 2
workMode: faiss # operational mode of the migration job.
reader:
bufferSize: 1024
writer:
bufferSize: 1024
loader:
worker:
limit: 2
source: # configs for the source Faiss index.
mode: local
local:
faissFile: ./testfiles/faiss/faiss_ivf_flat.index
target: # configs for the target Milvus collection.
create:
collection:
name: test1w
shardsNums: 2
dim: 256
metricType: L2
mode: remote
remote:
outputDir: testfiles/output/
cloud: aws
endpoint: 0.0.0.0:9000
region: ap-southeast-1
bucket: a-bucket
ak: minioadmin
sk: minioadmin
useIAM: false
useSSL: false
checkBucket: true
milvus2x:
endpoint: localhost:19530
username: xxxxx
password: xxxxx
Tabel berikut ini menjelaskan parameter dalam file konfigurasi contoh. Untuk daftar lengkap konfigurasi, lihat Migrasi Milvus: Faiss ke Milvus 2.x.
dumperParameter Deskripsi dumper.worker.limitKonkurensi utas dumper. dumper.worker.workModeMode operasional pekerjaan migrasi. Diatur ke faiss saat bermigrasi dari indeks Faiss. dumper.worker.reader.bufferSizeUkuran buffer untuk dibaca dari Faiss dalam setiap batch. Unit: KB. dumper.worker.writer.bufferSizeUkuran buffer untuk menulis ke Milvus dalam setiap batch. Unit: KB. loaderParameter Deskripsi loader.worker.limitKonkurensi utas pemuat. sourceParameter Deskripsi source.modeMenentukan dari mana file sumber dibaca. Nilai yang valid:
-local: membaca file dari disk lokal.
-remote: membaca file dari penyimpanan jarak jauh.source.local.faissFileJalur direktori tempat file sumber berada. Misalnya, /db/faiss.index.targetParameter Deskripsi target.create.collection.nameNama koleksi Milvus. target.create.collection.shardsNumsJumlah pecahan yang akan dibuat dalam koleksi. Untuk informasi lebih lanjut tentang pecahan, lihat Terminologi. target.create.collection.dimDimensi bidang vektor. target.create.collection.metricTypeJenis metrik yang digunakan untuk mengukur kemiripan antar vektor. Untuk informasi lebih lanjut, lihat Terminologi. target.modeLokasi penyimpanan untuk file yang dibuang. Nilai yang valid:
-local: Menyimpan file yang dibuang di disk lokal.
-remote: Menyimpan file yang dibuang di penyimpanan objek.target.remote.outputDirJalur direktori keluaran di ember penyimpanan cloud. target.remote.cloudPenyedia layanan penyimpanan cloud. Nilai contoh: aws,gcp,azure.target.remote.endpointTitik akhir penyimpanan Milvus 2.x. target.remote.regionWilayah penyimpanan cloud. Dapat berupa nilai apa pun jika Anda menggunakan MinIO lokal. target.remote.bucketNama bucket untuk menyimpan data. Nilainya harus sama dengan konfigurasi pada Milvus 2.x. Untuk informasi lebih lanjut, lihat Konfigurasi Sistem. target.remote.akKunci akses untuk penyimpanan Milvus 2.x. target.remote.skKunci rahasia untuk penyimpanan Milvus 2.x. target.remote.useIAMApakah akan menggunakan Peran IAM untuk koneksi. target.remote.useSSLApakah akan mengaktifkan SSL saat menyambung ke Milvus 2.x. Untuk informasi lebih lanjut, lihat Enkripsi saat Transit. target.remote.checkBucketApakah akan memeriksa apakah bucket yang ditentukan ada dalam penyimpanan objek. target.milvus2x.endpointAlamat server Milvus target. target.milvus2x.usernameNama pengguna untuk server Milvus 2.x. Parameter ini diperlukan jika autentikasi pengguna diaktifkan untuk server Milvus Anda. Untuk informasi lebih lanjut, lihat Mengaktifkan Autentikasi. target.milvus2x.passwordKata sandi untuk server Milvus 2.x. Parameter ini diperlukan jika autentikasi pengguna diaktifkan untuk server Milvus Anda. Untuk informasi lebih lanjut, lihat Mengaktifkan Autentikasi.
Memulai tugas migrasi
Mulai tugas migrasi dengan perintah berikut. Ganti
{YourConfigFilePath}dengan direktori lokal tempat berkas konfigurasimigration.yamlberada../milvus-migration dump --config=/{YourConfigFilePath}/migration.yamlPerintah di atas mengubah data indeks Faiss menjadi file NumPy, dan kemudian menggunakan operasi bulkInsert untuk menulis data ke bucket target.
Setelah berkas NumPy dihasilkan, impor berkas-berkas ini ke dalam Milvus 2.x dengan perintah berikut. Ganti
{YourConfigFilePath}dengan direktori lokal di mana berkas konfigurasimigration.yamlberada../milvus-migration load --config=/{YourConfigFilePath}/migration.yaml
Verifikasi hasil
Setelah tugas migrasi dijalankan, Anda dapat melakukan panggilan API atau menggunakan Attu untuk melihat jumlah entitas yang dimigrasi. Untuk informasi lebih lanjut, lihat Attu dan get_collection_stats().