🚀 Prova Zilliz Cloud, la versione completamente gestita di Milvus, gratuitamente—sperimenta prestazioni 10 volte più veloci! Prova Ora>>

milvus-logo
LFAI

HomeBlogsConfigurare Milvus in Google Colaboratory per semplificare la creazione di applicazioni ML

Configurare Milvus in Google Colaboratory per semplificare la creazione di applicazioni ML

  • Engineering
December 23, 2020
milvus

Il progresso tecnologico rende l'intelligenza artificiale (AI) e l'analisi su scala industriale sempre più accessibili e facili da usare. La proliferazione del software open-source, dei set di dati pubblici e di altri strumenti gratuiti sono le forze principali che guidano questa tendenza. Abbinando due risorse gratuite, Milvus e Google Colaboratory ("Colab" in breve), chiunque può creare soluzioni di AI e di analisi dei dati potenti e flessibili. Questo articolo fornisce le istruzioni per configurare Milvus in Colab e per eseguire le operazioni di base utilizzando il kit di sviluppo software (SDK) Python.

Vai a:

Che cos'è Milvus?

Milvus è un motore di ricerca di similarità vettoriale open-source che può integrarsi con le librerie di indici ampiamente adottate, tra cui Faiss, NMSLIB e Annoy. La piattaforma comprende anche una serie completa di API intuitive. Abbinando Milvus a modelli di intelligenza artificiale (AI), è possibile realizzare un'ampia gamma di applicazioni, tra cui:

  • Motori di ricerca per immagini, video, audio e testi semantici.
  • Sistemi di raccomandazione e chatbot.
  • Sviluppo di nuovi farmaci, screening genetico e altre applicazioni biomediche.

Cos'è il Google Colaboratory?

Google Colaboratory è un prodotto del team di Google Research che consente a chiunque di scrivere ed eseguire codice python da un browser web. Colab è stato costruito pensando alle applicazioni di apprendimento automatico e di analisi dei dati, offre un ambiente di notebook Jupyter gratuito, si sincronizza con Google Drive e consente agli utenti di accedere a potenti risorse di cloud computing (comprese le GPU). La piattaforma supporta molte librerie di apprendimento automatico e può essere integrata con PyTorch, TensorFlow, Keras e OpenCV.

Come iniziare con Milvus in Google Colaboratory

Sebbene Milvus raccomandi l'uso di Docker per installare e avviare il servizio, l'attuale ambiente cloud di Google Colab non supporta l'installazione di Docker. Inoltre, questo tutorial vuole essere il più accessibile possibile e non tutti utilizzano Docker. Installare e avviare il sistema compilando il codice sorgente di Milvus per evitare di usare Docker.

Scaricare il codice sorgente di Milvus e creare un nuovo notebook in Colab

Google Colab viene fornito con tutto il software di supporto per Milvus preinstallato, compresi gli strumenti di compilazione GCC, CMake e Git e i driver CUDA e NVIDIA, semplificando il processo di installazione e configurazione di Milvus. Per iniziare, scaricare il codice sorgente di Milvus e creare un nuovo blocco note in Google Colab:

  1. Scaricare il codice sorgente di Milvus: Milvus_tutorial.ipynb.

Wget https://raw.githubusercontent.com/milvus-io/bootcamp/0.10.0/getting_started/basics/milvus_tutorial/Milvus_tutorial.ipynb

  1. Caricare il codice sorgente di Milvus in Google Colab e creare un nuovo blocco note.

Blog_Set Up Milvus in Google Colaboratory for Easy ML Application Building_2.png Blog_Set Up Milvus in Google Colaboratory for Easy ML Application Building_2.png

Compilare Milvus dal codice sorgente

Scaricare il codice sorgente di Milvus

git clone -b 0.10.3 https://github.com/milvus-io/milvus.git

Installare le dipendenze

% cd /content/milvus/core ./ubuntu_build_deps.sh./ubuntu_build_deps.sh

Costruire il codice sorgente di 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

Nota: se la versione GPU è stata compilata correttamente, viene visualizzato l'avviso "Risorse GPU ABILITATE!

Avviare il server Milvus

Aggiungere la directory lib/ a 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

Avviare ed eseguire il server Milvus in background:

% cd scripts
! ls
! nohup ./start_server.sh &

Mostra lo stato del server Milvus:

! ls
! cat nohup.out

Nota: se il server Milvus viene avviato con successo, appare il seguente prompt:

Blog_Set Up Milvus in Google Colaboratory for Easy ML Application Building_3.png Blog_Set Up Milvus in Google Colaboratory for Easy ML Application Building_3.png

Eseguire le operazioni di base di Milvus in Google Colab con Python

Una volta avviato con successo in Google Colab, Milvus può fornire una serie di interfacce API per Python, Java, Go, Restful e C++. Di seguito sono riportate le istruzioni per utilizzare l'interfaccia Python per eseguire le operazioni di base di Milvus in Colab.

Installare pymilvus:

! pip install pymilvus==0.2.14

Connettersi al server:

# Connect to Milvus Server
milvus = Milvus(_HOST, _PORT)


# Return the status of the Milvus server.
server_status = milvus.server_status(timeout=10)

Creare una collezione/partizione/indice:

# 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)

Inserire e scaricare:

# 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)

Ottenere informazioni sulla raccolta/indice:

# 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)

Ottenere vettori per 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)

Ottenere/impostare parametri:

# 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')

Cancellare indice/vettori/partizione/raccolta:

# 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 e Google Colaboratory lavorano insieme in modo eccellente

Google Colaboratory è un servizio cloud gratuito e intuitivo che semplifica notevolmente la compilazione di Milvus dal codice sorgente e l'esecuzione di operazioni Python di base. Entrambe le risorse sono disponibili per l'uso da parte di chiunque, rendendo la tecnologia dell'intelligenza artificiale e dell'apprendimento automatico più accessibile a tutti. Per ulteriori informazioni su Milvus, consultate le seguenti risorse:

  • Per ulteriori esercitazioni che coprono un'ampia gamma di applicazioni, visitare Milvus Bootcamp.
  • Per gli sviluppatori interessati a fornire contributi o a sfruttare il sistema, trovate Milvus su GitHub.
  • Per maggiori informazioni sull'azienda che ha lanciato Milvus, visitate 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

    Continua a Leggere