🚀 جرب Zilliz Cloud، الـ Milvus المدارة بالكامل، مجاناً — تجربة أداء أسرع بـ 10 أضعاف! جرب الآن>>

milvus-logo
LFAI

HomeBlogsإعداد تطبيق Milvus في Google Colaboratory لبناء تطبيق التعلم الآلي بسهولة

إعداد تطبيق Milvus في Google Colaboratory لبناء تطبيق التعلم الآلي بسهولة

  • Engineering
December 23, 2020
milvus

يعمل التقدم التكنولوجي على الدوام على جعل الذكاء الاصطناعي والتحليلات على نطاق الآلة أكثر سهولة في الوصول إليها واستخدامها. إن انتشار البرامج مفتوحة المصدر ومجموعات البيانات العامة والأدوات المجانية الأخرى هي القوى الأساسية التي تقود هذا الاتجاه. من خلال الجمع بين اثنين من الموارد المجانية، وهما Milvus وGoogle Colaboratory ("Colab" اختصارًا)، يمكن لأي شخص إنشاء حلول قوية ومرنة للذكاء الاصطناعي وتحليلات البيانات. تقدم هذه المقالة إرشادات لإعداد Milvus في Colab، بالإضافة إلى إجراء العمليات الأساسية باستخدام مجموعة تطوير برامج Python (SDK).

الانتقال إلى:

ما هو ميلفوس؟

Milvus هو محرك بحث عن التشابه المتجه مفتوح المصدر يمكن أن يتكامل مع مكتبات الفهرسة المعتمدة على نطاق واسع، بما في ذلك Faiss وNMSLIB وAnnoy. تتضمن المنصة أيضًا مجموعة شاملة من واجهات برمجة التطبيقات البديهية. من خلال إقران Milvus بنماذج الذكاء الاصطناعي (AI)، يمكن بناء مجموعة متنوعة من التطبيقات بما في ذلك:

  • محركات البحث عن الصور والفيديو والصوت والنصوص الدلالية.
  • أنظمة التوصيات وروبوتات الدردشة الآلية.
  • تطوير الأدوية الجديدة والفحص الجيني والتطبيقات الطبية الحيوية الأخرى.

ما هو Google Colaboratory؟

Google Colaboratory هو منتج من فريق أبحاث Google الذي يسمح لأي شخص بكتابة وتشغيل كود بايثون من متصفح الويب. تم تصميم Colaboratory مع وضع تطبيقات التعلُّم الآلي وتحليل البيانات في الاعتبار، ويوفر بيئة دفتر ملاحظات Jupyter مجانًا، ويتزامن مع Google Drive، ويتيح للمستخدمين الوصول إلى موارد الحوسبة السحابية القوية (بما في ذلك وحدات معالجة الرسومات). تدعم المنصة العديد من مكتبات التعلم الآلي الشائعة ويمكن دمجها مع PyTorch وTensorFlow وKeras وOpenCV.

الشروع في استخدام Milvus في Google Colaboratory

على الرغم من أن Milvus يوصي باستخدام Docker لتثبيت الخدمة وبدء تشغيلها، إلا أن بيئة Google Colab السحابية الحالية لا تدعم تثبيت Docker. بالإضافة إلى ذلك، يهدف هذا البرنامج التعليمي إلى أن يكون متاحًا قدر الإمكان - ولا يستخدم الجميع Docker. قم بتثبيت النظام وبدء تشغيله عن طريق تجميع التعليمات البرمجية المصدرية لـ Milvus لتجنب استخدام Docker.

قم بتنزيل كود مصدر ميلفوس وإنشاء دفتر ملاحظات جديد في كولاب

يأتي Google Colab مزودًا بجميع البرامج الداعمة لـ Milvus مثبتة مسبقًا، بما في ذلك أدوات التجميع المطلوبة GCC و CMake و Git وبرامج التشغيل CUDA و NVIDIA، مما يسهل عملية التثبيت والإعداد لـ Milvus. للبدء، قم بتنزيل التعليمات البرمجية المصدرية لميلفوس وأنشئ دفتر ملاحظات جديد في Google Colab:

  1. قم بتنزيل كود المصدر الخاص بـ Milvus Milvus_tutorial.ipynb.

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

  1. قم بتحميل التعليمات البرمجية المصدرية لـ Milvus إلى Google Colab وأنشئ دفتر ملاحظات جديد.

Blog_Set Up Milvus in Google Colaboratory for Easy ML Application Building_2.png Blog_Set Up Milvus في Google Colaboratory لبناء تطبيق التعلم الآلي بسهولة_2.png

تجميع ميلفوس من الشيفرة المصدرية

تنزيل كود مصدر ميلفوس

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

تثبيت التبعيات

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

بناء كود مصدر 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

ملاحظة: إذا تم تجميع إصدار GPU بشكل صحيح، سيظهر إشعار "تم تمكين موارد GPU!".

تشغيل خادم ميلفوس

أضف دليل lib/ إلى 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

بدء تشغيل خادم Milvus وتشغيله في الخلفية:

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

إظهار حالة خادم Milvus:

! ls
! cat nohup.out

ملاحظة: إذا تم تشغيل خادم Milvus بنجاح، تظهر المطالبة التالية:

Blog_Set Up Milvus in Google Colaboratory for Easy ML Application Building_3.png Blog_Set Up Milvus في Google Colaboratory لبناء تطبيق ML سهل_3.png

تشغيل عمليات Milvus الأساسية في Google Colab باستخدام Python

بعد بدء التشغيل بنجاح في Google Colab، يمكن لـ Milvus توفير مجموعة متنوعة من واجهات واجهة برمجة التطبيقات لـ Python و Java و Go و Restful و C++. فيما يلي إرشادات لاستخدام واجهة Python لتنفيذ عمليات Milvus الأساسية في Colab.

تثبيت pymilvus:

! pip install pymilvus==0.2.14

الاتصال بالخادم:

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


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

إنشاء مجموعة/قسم/فهرس:

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

إدراج وتدفق:

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

الحصول على معلومات المجموعة/الفهرس:

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

الحصول على المتجهات حسب المعرف:

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

الحصول على/ضبط المعلمات:

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

حذف الفهرس/المتجهات/المجموعة/المجموعة:

# 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 وGoogle Colaboratory معًا بشكل جميل

إن Google Colaboratory هي خدمة سحابية مجانية وبديهية تبسط إلى حد كبير تجميع Milvus من التعليمات البرمجية المصدرية وتشغيل عمليات Python الأساسية. كلا الموردين متاحان لأي شخص لاستخدامهما، مما يجعل تكنولوجيا الذكاء الاصطناعي والتعلم الآلي في متناول الجميع. لمزيد من المعلومات حول ميلفوس، اطلع على الموارد التالية:

  • للحصول على دروس إضافية تغطي مجموعة متنوعة من التطبيقات، قم بزيارة معسكر تدريب ميلفوس.
  • بالنسبة للمطورين المهتمين بتقديم مساهمات أو الاستفادة من النظام، يمكنك العثور على Milvus على GitHub.
  • للمزيد من المعلومات عن الشركة التي أطلقت ميلفوس، تفضل بزيارة 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

    استمر في القراءة