Siapkan Milvus di Google Colaboratory untuk Kemudahan Membangun Aplikasi ML
Kemajuan teknologi terus membuat kecerdasan buatan (AI) dan analitik berskala mesin menjadi lebih mudah diakses dan digunakan. Proliferasi perangkat lunak sumber terbuka, kumpulan data publik, dan alat gratis lainnya adalah kekuatan utama yang mendorong tren ini. Dengan menggabungkan dua sumber daya gratis, Milvus dan Google Colaboratory ("Colab"), siapa pun dapat membuat solusi AI dan analisis data yang kuat dan fleksibel. Artikel ini memberikan petunjuk untuk menyiapkan Milvus di Colab, serta melakukan operasi dasar menggunakan kit pengembangan perangkat lunak Python (SDK).
Langsung ke:
- Apa itu Milvus?
- Apa itu Google Colaboratory?
- Memulai Milvus di Google Colaboratory
- Menjalankan operasi dasar Milvus di Google Colab dengan Python
- Milvus dan Google Colaboratory bekerja sama dengan baik
Apa itu Milvus?
Milvus adalah mesin pencari kemiripan vektor sumber terbuka yang dapat diintegrasikan dengan pustaka indeks yang diadopsi secara luas, termasuk Faiss, NMSLIB, dan Annoy. Platform ini juga menyertakan seperangkat API intuitif yang komprehensif. Dengan memasangkan Milvus dengan model kecerdasan buatan (AI), berbagai macam aplikasi dapat dibangun termasuk:
- Mesin pencari gambar, video, audio, dan teks semantik.
- Sistem rekomendasi dan chatbot.
- Pengembangan obat baru, skrining genetik, dan aplikasi biomedis lainnya.
Apa itu Google Colaboratory?
Google Colaboratory adalah produk dari tim Google Research yang memungkinkan siapa saja untuk menulis dan menjalankan kode python dari browser web. Colab dibangun dengan mempertimbangkan pembelajaran mesin dan aplikasi analisis data, menawarkan lingkungan notebook Jupyter gratis, disinkronkan dengan Google Drive, dan memberi pengguna akses ke sumber daya komputasi awan yang kuat (termasuk GPU). Platform ini mendukung banyak pustaka pembelajaran mesin yang populer dan dapat diintegrasikan dengan PyTorch, TensorFlow, Keras, dan OpenCV.
Memulai dengan Milvus di Google Colaboratory
Meskipun Milvus merekomendasikan penggunaan Docker untuk menginstal dan memulai layanan, lingkungan cloud Google Colab saat ini tidak mendukung instalasi Docker. Selain itu, tutorial ini bertujuan untuk semudah mungkin diakses - dan tidak semua orang menggunakan Docker. Instal dan mulai sistem dengan mengompilasi kode sumber Milvus untuk menghindari penggunaan Docker.
Unduh kode sumber Milvus dan buat buku catatan baru di Colab
Google Colab dilengkapi dengan semua perangkat lunak pendukung untuk Milvus yang sudah terinstal, termasuk alat kompilasi yang diperlukan GCC, CMake, dan Git serta driver CUDA dan NVIDIA, sehingga menyederhanakan proses instalasi dan penyiapan Milvus. Untuk memulai, unduh kode sumber Milvus dan buat notebook baru di Google Colab:
- Unduh kode sumber Milvus: Milvus_tutorial.ipynb.
Wget https://raw.githubusercontent.com/milvus-io/bootcamp/0.10.0/getting_started/basics/milvus_tutorial/Milvus_tutorial.ipynb
- Unggah kode sumber Milvus ke Google Colab dan buat buku catatan baru.
Blog_Mengatur Milvus di Google Colaboratory untuk Membuat Aplikasi ML dengan Mudah_2.png
Kompilasi Milvus dari kode sumber
Unduh kode sumber Milvus
git clone -b 0.10.3 https://github.com/milvus-io/milvus.git
Menginstal ketergantungan
% cd /content/milvus/core ./ubuntu_build_deps.sh./ubuntu_build_deps.sh
Bangun kode sumber Milvus
% cd /content/milvus/core
!ls
!./build.sh -t Release
# To build GPU version, add -g option, and switch the notebook settings with GPU
#((Edit -> Notebook settings -> select GPU))
# !./build.sh -t Release -g
Catatan: Jika versi GPU dikompilasi dengan benar, pemberitahuan "Sumber daya GPU diaktifkan!" akan muncul.
Meluncurkan server Milvus
Tambahkan direktori lib/ ke LD_LIBRARY_PATH:
% cd /content/milvus/core/milvus
! echo $LD_LIBRARY_PATH
import os
os.environ['LD_LIBRARY_PATH'] +=":/content/milvus/core/milvus/lib"
! echo $LD_LIBRARY_PATH
Mulai dan jalankan server Milvus di latar belakang:
% cd scripts
! ls
! nohup ./start_server.sh &
Menampilkan status server Milvus:
! ls
! cat nohup.out
Catatan: Jika server Milvus berhasil dijalankan, maka akan muncul perintah berikut ini:
Blog_Mengatur Milvus di Google Colaboratory untuk Pembuatan Aplikasi ML yang Mudah_3.png
Menjalankan operasi dasar Milvus di Google Colab dengan Python
Setelah berhasil diluncurkan di Google Colab, Milvus dapat menyediakan berbagai antarmuka API untuk Python, Java, Go, Restful, dan C++. Di bawah ini adalah instruksi untuk menggunakan antarmuka Python untuk melakukan operasi dasar Milvus di Colab.
Instal pymilvus:
! pip install pymilvus==0.2.14
Hubungkan ke server:
# Connect to Milvus Server
milvus = Milvus(_HOST, _PORT)
# Return the status of the Milvus server.
server_status = milvus.server_status(timeout=10)
Membuat koleksi/partisi/indeks:
# Information needed to create a collection
param={'collection_name':collection_name, 'dimension': _DIM, 'index_file_size': _INDEX_FILE_SIZE, 'metric_type': MetricType.L2}
# Create a collection.
milvus.create_collection(param, timeout=10)
# Create a partition for a collection.
milvus.create_partition(collection_name=collection_name, partition_tag=partition_tag, timeout=10)
ivf_param = {'nlist': 16384}
# Create index for a collection.
milvus.create_index(collection_name=collection_name, index_type=IndexType.IVF_FLAT, params=ivf_param)
Sisipkan dan siram:
# Insert vectors to a collection.
milvus.insert(collection_name=collection_name, records=vectors, ids=ids)
# Flush vector data in one collection or multiple collections to disk.
milvus.flush(collection_name_array=[collection_name], timeout=None)
Memuat dan mencari:
# Load a collection for caching.
milvus.load_collection(collection_name=collection_name, timeout=None)
# Search vectors in a collection.
search_param = { "nprobe": 16 }
milvus.search(collection_name=collection_name,query_records=[vectors[0]],partition_tags=None,top_k=10,params=search_param)
Mendapatkan informasi koleksi/indeks:
# Return information of a collection. milvus.get_collection_info(collection_name=collection_name, timeout=10)
# Show index information of a collection. milvus.get_index_info(collection_name=collection_name, timeout=10)
Dapatkan vektor berdasarkan ID:
# List the ids in segment
# you can get the segment_name list by get_collection_stats() function.
milvus.list_id_in_segment(collection_name =collection_name, segment_name='1600328539015368000', timeout=None)
# Return raw vectors according to ids, and you can get the ids list by list_id_in_segment() function.
milvus.get_entity_by_id(collection_name=collection_name, ids=[0], timeout=None)
Mendapatkan/menetapkan parameter:
# Get Milvus configurations. milvus.get_config(parent_key='cache', child_key='cache_size')
# Set Milvus configurations. milvus.set_config(parent_key='cache', child_key='cache_size', value='5G')
Menghapus indeks/vektor/partisi/koleksi:
# Remove an index. milvus.drop_index(collection_name=collection_name, timeout=None)
# Delete vectors in a collection by vector ID.
# id_array (list[int]) -- list of vector id milvus.delete_entity_by_id(collection_name=collection_name, id_array=[0], timeout=None)
# Delete a partition in a collection. milvus.drop_partition(collection_name=collection_name, partition_tag=partition_tag, timeout=None)
# Delete a collection by name. milvus.drop_collection(collection_name=collection_name, timeout=10)
Milvus dan Google Colaboratory bekerja dengan sangat baik
Google Colaboratory adalah layanan cloud gratis dan intuitif yang sangat menyederhanakan kompilasi Milvus dari kode sumber dan menjalankan operasi Python dasar. Kedua sumber daya ini tersedia bagi siapa saja untuk digunakan, membuat teknologi AI dan pembelajaran mesin lebih mudah diakses oleh semua orang. Untuk informasi lebih lanjut tentang Milvus, lihat sumber-sumber berikut:
- Untuk tutorial tambahan yang mencakup berbagai macam aplikasi, kunjungi Milvus Bootcamp.
- Untuk pengembang yang tertarik untuk memberikan kontribusi atau memanfaatkan sistem ini, temukan Milvus di GitHub.
- Untuk informasi lebih lanjut tentang perusahaan yang meluncurkan Milvus, kunjungi Zilliz.com.
Try Managed Milvus for Free
Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.
Get StartedLike the article? Spread the word