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

milvus-logo
LFAI

HomeBlogsSiapkan Milvus di Google Colaboratory untuk Kemudahan Membangun Aplikasi ML

Siapkan Milvus di Google Colaboratory untuk Kemudahan Membangun Aplikasi ML

  • Engineering
December 23, 2020
milvus

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?

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:

  1. 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

  1. Unggah kode sumber Milvus ke Google Colab dan buat buku catatan baru.

Blog_Set Up Milvus in Google Colaboratory for Easy ML Application Building_2.png 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_Set Up Milvus in Google Colaboratory for Easy ML Application Building_3.png 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)
# 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 Started

    Like the article? Spread the word

    Terus Baca