🚀 Coba Zilliz Cloud, Milvus yang sepenuhnya terkelola, secara gratis—rasakan performa 10x lebih cepat! Coba Sekarang>>

milvus-logo
LFAI
Beranda
  • Pertanyaan Umum
  • Home
  • Docs
  • Pertanyaan Umum

  • Pertanyaan Umum Operasional

Pertanyaan Umum Operasional

Bagaimana jika saya gagal menarik citra Milvus Docker dari Docker Hub?

Jika Anda gagal menarik citra Milvus Docker dari Docker Hub, coba tambahkan mirror registri lainnya.

Pengguna dari Tiongkok Daratan dapat menambahkan URL "https://registry.docker-cn.com" ke larik registri-mirror di /etc.docker/daemon.json.

{
  "registry-mirrors": ["https://registry.docker-cn.com"]
}

Apakah Docker satu-satunya cara untuk menginstal dan menjalankan Milvus?

Docker adalah cara yang efisien untuk menggunakan Milvus, tetapi bukan satu-satunya cara. Anda juga dapat menggunakan Milvus dari kode sumber. Ini membutuhkan Ubuntu (18.04 atau lebih tinggi) atau CentOS (7 atau lebih tinggi). Lihat Membangun Milvus dari Kode Sumber untuk informasi lebih lanjut.

Apa saja faktor utama yang memengaruhi pemanggilan?

Pemanggilan dipengaruhi terutama oleh jenis indeks dan parameter pencarian.

Untuk indeks FLAT, Milvus melakukan pemindaian menyeluruh di dalam koleksi, dengan pengembalian 100%.

Untuk indeks IVF, parameter nprobe menentukan cakupan pencarian di dalam koleksi. Meningkatkan nprobe akan meningkatkan proporsi vektor yang dicari dan penarikan kembali, tetapi mengurangi kinerja kueri.

Untuk indeks HNSW, parameter ef menentukan luasnya pencarian grafik. Meningkatkan ef akan meningkatkan jumlah titik yang dicari pada grafik dan penarikan, tetapi mengurangi kinerja kueri.

Untuk informasi lebih lanjut, lihat Pengindeksan Vektor.

Mengapa perubahan yang saya lakukan pada file konfigurasi tidak berlaku?

Milvus tidak mendukung modifikasi pada file konfigurasi selama runtime. Anda harus memulai ulang Milvus Docker agar perubahan pada berkas konfigurasi dapat diterapkan.

Bagaimana saya tahu jika Milvus telah berhasil dijalankan?

Jika Milvus dimulai menggunakan Docker Compose, jalankan docker ps untuk mengamati berapa banyak kontainer Docker yang berjalan dan memeriksa apakah layanan Milvus telah dimulai dengan benar.

Untuk Milvus mandiri, Anda seharusnya dapat mengamati setidaknya tiga kontainer Docker yang berjalan, satu adalah layanan Milvus dan dua lainnya adalah layanan manajemen dan penyimpanan etcd. Untuk informasi lebih lanjut, lihat Menginstalasi Milvus Mandiri.

Mengapa waktu dalam berkas log berbeda dengan waktu sistem?

Perbedaan waktu biasanya disebabkan oleh fakta bahwa mesin hos tidak menggunakan Waktu Universal Terkoordinasi (UTC).

Berkas log di dalam citra Docker menggunakan UTC secara default. Jika mesin hos Anda tidak menggunakan UTC, masalah ini dapat terjadi.

Bagaimana saya tahu jika CPU saya mendukung Milvus?

Operasi komputasi Milvus bergantung pada dukungan CPU untuk set instruksi ekstensi SIMD (Single Instruction, Multiple Data). Dukungan CPU Anda terhadap set instruksi ekstensi SIMD sangat penting untuk pembuatan indeks dan pencarian kemiripan vektor dalam Milvus. Pastikan bahwa CPU Anda mendukung setidaknya satu dari set instruksi SIMD berikut ini:

  • SSE4.2
  • AVX
  • AVX2
  • AVX512

Jalankan perintah lscpu untuk memeriksa apakah CPU Anda mendukung set instruksi SIMD yang disebutkan di atas:

$ lscpu | grep -e sse4_2 -e avx -e avx2 -e avx512

Mengapa Milvus mengembalikan illegal instruction saat startup?

Milvus membutuhkan CPU Anda untuk mendukung set instruksi SIMD: SSE4.2, AVX, AVX2, atau AVX512. CPU harus mendukung setidaknya salah satu dari ini untuk memastikan bahwa Milvus beroperasi secara normal. Kesalahan illegal instruction yang dikembalikan selama startup menunjukkan bahwa CPU Anda tidak mendukung salah satu dari empat set instruksi di atas.

Lihat dukungan CPU untuk Set Instruksi SIMD.

Dapatkah saya menginstal Milvus pada Windows?

Ya, Anda dapat menginstall Milvus pada Windows baik dengan meng-compile dari kode sumber atau dari paket biner.

Lihat Menjalankan Milvus pada Windows untuk mempelajari cara menginstal Milvus pada Windows.

Saya mendapatkan kesalahan saat menginstal pymilvus pada Windows. Apa yang harus saya lakukan?

Silakan coba gunakan perintah berikut untuk mengupdate pymilvus ke versi terbaru.

pip install --upgrade pymilvus

Dapatkah saya menggunakan Milvus saat terputus dari Internet?

Ya, Anda dapat menginstal Milvus di lingkungan offline. Lihat Menginstal Milvus Offline untuk informasi lebih lanjut.

Di mana saya dapat menemukan log yang dihasilkan oleh Milvus?

Log Milvus dicetak ke stout (keluaran standar) dan stderr (kesalahan standar) secara default, namun kami sangat menyarankan untuk mengalihkan log Anda ke volume persisten dalam produksi. Untuk melakukannya, perbarui log.file.rootPath di milvus.yaml. Dan jika Anda menggunakan Milvus dengan milvus-helm chart, Anda juga perlu mengaktifkan persistensi log terlebih dahulu melalui --set log.persistence.enabled=true.

Jika Anda tidak mengubah konfigurasi, menggunakan log kubectl <pod-name> atau log docker CONTAINER juga dapat membantu Anda menemukan log.

Dapatkah saya membuat indeks untuk suatu segmen sebelum memasukkan data ke dalamnya?

Ya, Anda bisa. Namun, kami menyarankan untuk memasukkan data secara berkelompok, yang masing-masing tidak boleh melebihi 256 MB, sebelum mengindeks setiap segmen.

Dapatkah saya berbagi sebuah instance etcd di antara beberapa instance Milvus?

Ya, Anda dapat berbagi instance etcd di antara beberapa instance Milvus. Untuk melakukannya, Anda perlu mengubah etcd.rootPath menjadi nilai yang terpisah untuk setiap instans Milvus dalam berkas konfigurasi masing-masing instans sebelum memulainya.

Dapatkah saya membagikan sebuah instans Pulsar di antara beberapa instans Milvus?

Ya, Anda dapat berbagi instans Pulsar di antara beberapa instans Milvus. Untuk melakukannya, Anda dapat

  • Jika multi-tenancy diaktifkan pada instans Pulsar Anda, pertimbangkan untuk mengalokasikan penyewa atau namespace terpisah untuk setiap instans Milvus. Untuk melakukannya, Anda perlu mengubah pulsar.tenant atau pulsar.namespace dalam berkas konfigurasi instans Milvus Anda menjadi nilai unik untuk masing-masing instans sebelum memulainya.
  • Jika Anda tidak berencana untuk mengaktifkan multi-tenancy pada instans Pulsar Anda, pertimbangkan untuk mengubah msgChannel.chanNamePrefix.cluster dalam berkas konfigurasi instans Milvus Anda menjadi nilai unik untuk masing-masing instans sebelum memulainya.

Dapatkah saya berbagi instance MinIO di antara beberapa instance Milvus?

Ya, Anda dapat berbagi instance MinIO di antara beberapa instance Milvus. Untuk melakukannya, Anda perlu mengubah minio.rootPath menjadi nilai unik untuk setiap instans Milvus dalam file konfigurasi masing-masing sebelum memulai mereka.

Bagaimana cara menangani pesan kesalahan pymilvus.exceptions.ConnectionConfigException: <ConnectionConfigException: (code=1, message=Illegal uri: [example.db], expected form 'https://user:pwd@example.com:12345')>?

Pesan kesalahan Illegal uri [example.db] mengindikasikan bahwa Anda mencoba terhubung ke Milvus Lite menggunakan versi PyMilvus yang lebih lama yang tidak mendukung tipe koneksi ini. Untuk mengatasi masalah ini, perbarui instalasi PyMilvus Anda ke setidaknya versi 2.4.2, yang mencakup dukungan untuk terhubung ke Milvus Lite.

Anda dapat memutakhirkan PyMilvus dengan menggunakan perintah berikut:

pip install pymilvus>=2.4.2

Mengapa saya mendapatkan hasil yang lebih sedikit daripada limit yang saya tetapkan dalam pencarian/kueri saya?

Ada beberapa alasan mengapa Anda mendapatkan hasil yang lebih sedikit dari limit yang Anda tentukan:

  • Data terbatas: Koleksi mungkin tidak memiliki cukup entitas untuk memenuhi batas yang Anda minta. Jika jumlah total entitas dalam koleksi kurang dari batas, Anda akan menerima hasil yang lebih sedikit.

  • Kunci Utama Duplikat: Milvus memprioritaskan entitas tertentu ketika menemukan kunci utama duplikat selama pencarian. Perilaku ini bervariasi berdasarkan jenis pencarian:

  • Kueri (Pencocokan Tepat): Milvus memilih entitas terbaru dengan PK yang cocok Pencarian ANN: Milvus memilih entitas dengan nilai kemiripan tertinggi, meskipun entitas memiliki PK yang sama. Prioritas ini dapat menghasilkan hasil unik yang lebih sedikit daripada batas jika koleksi Anda memiliki banyak kunci utama yang sama.

  • Kecocokan yang tidak mencukupi: Ekspresi pemfilteran pencarian Anda mungkin terlalu ketat, sehingga menghasilkan lebih sedikit entitas yang memenuhi ambang batas kemiripan. Jika kondisi yang ditetapkan untuk pencarian terlalu ketat, tidak cukup banyak entitas yang cocok, sehingga menghasilkan hasil yang lebih sedikit dari yang diharapkan.

MilvusClient("milvus_demo.db") gives an error: ModuleNotFoundError: No module named 'milvus_lite'. Apa yang menyebabkan hal ini dan bagaimana cara mengatasinya?

Kesalahan ini terjadi ketika Anda mencoba menggunakan Milvus Lite pada platform Windows. Milvus Lite terutama didesain untuk lingkungan Linux dan mungkin tidak memiliki dukungan asli untuk Windows.

Solusinya adalah menggunakan lingkungan Linux:

  • Gunakan sistem operasi berbasis Linux atau mesin virtual untuk menjalankan Milvus Lite.
  • Pendekatan ini akan memastikan kompatibilitas dengan ketergantungan dan fungsionalitas perpustakaan.

Apa yang dimaksud dengan kesalahan "panjang melebihi panjang maksimum" di Milvus, dan bagaimana cara untuk memahami dan mengatasinya?

Kesalahan "panjang melebihi panjang maksimal" di Milvus terjadi ketika ukuran elemen data melebihi ukuran maksimum yang diperbolehkan untuk sebuah koleksi atau field. Berikut adalah beberapa contoh dan penjelasannya:

  • Kesalahan bidang JSON: <MilvusException: (code=1100, message=the length (398324) of json field (metadata) exceeds max length (65536): expected=valid length json string, actual=length exceeds max length: invalid parameter)>

  • Kesalahan panjang string: <ParamError: (code=1, message=invalid input, length of string exceeds max length. length: 74238, max length: 60535)>

  • Kesalahan bidang VarChar: <MilvusException: (code=1100, message=the length (60540) of 0th VarChar paragraph exceeds max length (0)%!(EXTRA int64=60535): invalid parameter)>

Untuk memahami dan mengatasi kesalahan-kesalahan ini:

  • Pahami bahwa len(str) dalam Python mewakili jumlah karakter, bukan ukuran dalam byte.
  • Untuk tipe data berbasis string seperti VARCHAR dan JSON, gunakan len(bytes(str, encoding='utf-8')) untuk menentukan ukuran sebenarnya dalam byte, yang digunakan Milvus untuk "max-length".

Contoh dalam Python:

# Python Example: result of len() str cannot be used as "max-length" in Milvus 
>>> s = "你好,世界!"
>>> len(s) # Number of characters of s.
6
>>> len(bytes(s, "utf-8")) # Size in bytes of s, max-length in Milvus.
18

pymilvus.exceptions.ConnectionConfigException: <ConnectionConfigException: (code=1, message=Illegal uri: [example.db], expected form 'https://user:pwd@example.com:12345')>. Apa yang menyebabkan hal ini dan bagaimana cara mengatasinya?

Kesalahan ini mengindikasikan bahwa Anda mencoba terhubung ke Milvus Lite menggunakan versi pymilvus yang lebih lama yang tidak mendukungnya. Untuk mengatasinya, tingkatkan instalasi pymilvus Anda ke setidaknya versi 2.4.2. Versi ini mendukung koneksi ke Milvus Lite. Untuk memutakhirkan, gunakan perintah berikut:

pip install pymilvus>=2.4.2

Masih memiliki pertanyaan?

Tentu saja bisa:

  • Lihat Milvus di GitHub. Jangan ragu untuk mengajukan pertanyaan, berbagi ide, dan membantu orang lain.
  • Bergabunglah dengan Forum Milvus atau Saluran Slack untuk mendapatkan dukungan dan terlibat dengan komunitas sumber terbuka kami.

Coba Milvus yang Dikelola secara Gratis

Zilliz Cloud bebas masalah, didukung oleh Milvus dan 10x lebih cepat.

Mulai
Umpan balik

Apakah halaman ini bermanfaat?