إعداد تطبيق Milvus في Google Colaboratory لبناء تطبيق التعلم الآلي بسهولة
يعمل التقدم التكنولوجي على الدوام على جعل الذكاء الاصطناعي والتحليلات على نطاق الآلة أكثر سهولة في الوصول إليها واستخدامها. إن انتشار البرامج مفتوحة المصدر ومجموعات البيانات العامة والأدوات المجانية الأخرى هي القوى الأساسية التي تقود هذا الاتجاه. من خلال الجمع بين اثنين من الموارد المجانية، وهما Milvus وGoogle Colaboratory ("Colab" اختصارًا)، يمكن لأي شخص إنشاء حلول قوية ومرنة للذكاء الاصطناعي وتحليلات البيانات. تقدم هذه المقالة إرشادات لإعداد Milvus في Colab، بالإضافة إلى إجراء العمليات الأساسية باستخدام مجموعة تطوير برامج Python (SDK).
الانتقال إلى:
- ما هو ميلفوس؟
- ما هو Google Colaboratory؟
- الشروع في استخدام ملفوس في جوجل كولابوراتوري
- تشغيل عمليات Milvus الأساسية في Google Colaboratory باستخدام Python
- يعمل ميلفوس وجوجل كولابوراتوري معًا بشكل رائع
ما هو ميلفوس؟
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:
- قم بتنزيل كود المصدر الخاص بـ Milvus Milvus_tutorial.ipynb.
Wget https://raw.githubusercontent.com/milvus-io/bootcamp/0.10.0/getting_started/basics/milvus_tutorial/Milvus_tutorial.ipynb
- قم بتحميل التعليمات البرمجية المصدرية لـ Milvus إلى Google Colab وأنشئ دفتر ملاحظات جديد.
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 في 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 StartedLike the article? Spread the word