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

milvus-logo
LFAI
الصفحة الرئيسية
  • ابدأ الآن
    • تثبيت ميلفوس
  • Home
  • Docs
  • ابدأ الآن

  • تثبيت ميلفوس

  • تشغيل ميلفوس لايت

تشغيل ميلفوس لايت محلياً

توضح هذه الصفحة كيفية تشغيل Milvus محلياً باستخدام Milvus Lite. Milvus Lite هو نسخة خفيفة الوزن من Milvus، وهي قاعدة بيانات متجهة مفتوحة المصدر تعمل على تشغيل تطبيقات الذكاء الاصطناعي مع تضمينات المتجهات والبحث عن التشابه.

نظرة عامة

يمكن استيراد Milvus Lite إلى تطبيق Python الخاص بك، مما يوفر وظيفة البحث المتجه الأساسية في Milvus. تم تضمين Milvus Lite بالفعل في مجموعة أدوات تطوير البرمجيات الخاصة بـ Python SDK الخاصة بـ Milvus. يمكن نشره ببساطة باستخدام pip install pymilvus.

باستخدام Milvus Lite، يمكنك البدء في إنشاء تطبيق ذكاء اصطناعي مع البحث عن التشابه المتجه في غضون دقائق! ميلفوس لايت جيد للتشغيل في البيئة التالية:

  • Jupyter Notebook / Google Colab
  • أجهزة الكمبيوتر المحمولة
  • أجهزة الحافة

يشترك Milvus Lite في نفس واجهة برمجة التطبيقات مع Milvus Standalone و Distributed، ويغطي معظم الميزات مثل ثبات البيانات المتجهة وإدارتها، وعمليات CRUD المتجهة، والبحث المتجه المتناثر والكثيف عن المتجهات، وتصفية البيانات الوصفية، والمتجهات المتعددة والبحث الهجين. يوفران معًا تجربة متسقة عبر أنواع مختلفة من البيئات، بدءًا من الأجهزة المتطورة إلى المجموعات في السحابة، بما يتناسب مع حالات الاستخدام ذات الأحجام المختلفة. باستخدام نفس الكود من جانب العميل، يمكنك تشغيل تطبيقات GenAI باستخدام Milvus Lite على كمبيوتر محمول أو دفتر Jupyter Notebook، أو Milvus Standalone على حاوية Docker، أو Milvus Distributed على مجموعة Kubernetes ضخمة الحجم تخدم مليارات المتجهات في الإنتاج.

المتطلبات الأساسية

يدعم ميلفوس لايت حاليًا البيئات التالية:

  • Ubuntu >= 20.04 (x86_64 و arm64)
  • MacOS >= 11.0 (Apple Silicon M1/M2 و x86_64)

يُرجى ملاحظة أن Milvus Lite مناسب فقط لحالات استخدام البحث المتجه على نطاق صغير. لحالات الاستخدام على نطاق واسع، نوصي باستخدام Milvus Standalone أو Milvus Distributed. يمكنك أيضًا التفكير في استخدام Milvus المُدار بالكامل على Zilliz Cloud.

إعداد ميلفوس لايت

pip install -U pymilvus

نوصي باستخدام pymilvus. نظرًا لأن milvus-lite مضمن في pymilvus الإصدار 2.4.2 أو أعلى، يمكنك pip install مع -U لفرض التحديث إلى أحدث إصدار ويتم تثبيت milvus-lite تلقائيًا.

إذا كنت ترغب في تثبيت الحزمة milvus-lite بشكل صريح، أو كنت قد قمت بتثبيت إصدار أقدم من milvus-lite وترغب في تحديثه، يمكنك القيام بذلك pip install -U milvus-lite.

الاتصال بميلفوس لايت

في pymilvus ، حدد اسم ملف محلي كمعلمة uri لـ MilvusClient سيستخدم Milvus Lite.

from pymilvus import MilvusClient
client = MilvusClient("./milvus_demo.db")

بعد تشغيل مقتطف الشفرة أعلاه، سيتم إنشاء ملف قاعدة بيانات باسم milvus_demo.db في المجلد الحالي.

ملحوظة: لاحظ أن نفس واجهة برمجة التطبيقات تنطبق أيضًا على Milvus Standalone و Milvus Distributed و Zilliz Cloud، والفرق الوحيد هو استبدال اسم الملف المحلي بنقطة نهاية الخادم البعيد وبيانات الاعتماد، على سبيل المثالclient = MilvusClient(uri="http://localhost:19530", token="username:password").

أمثلة

فيما يلي عرض توضيحي بسيط يوضح كيفية استخدام Milvus Lite للبحث عن النص. هناك أمثلة أكثر شمولاً لاستخدام Milvus Lite لبناء تطبيقات مثل RAG، والبحث عن الصور، واستخدام Milvus Lite في إطار عمل RAG الشهير مثل LangChain و LlamaIndex!

from pymilvus import MilvusClient
import numpy as np

client = MilvusClient("./milvus_demo.db")
client.create_collection(
    collection_name="demo_collection",
    dimension=384  # The vectors we will use in this demo has 384 dimensions
)

# Text strings to search from.
docs = [
    "Artificial intelligence was founded as an academic discipline in 1956.",
    "Alan Turing was the first person to conduct substantial research in AI.",
    "Born in Maida Vale, London, Turing was raised in southern England.",
]
# For illustration, here we use fake vectors with random numbers (384 dimension).

vectors = [[ np.random.uniform(-1, 1) for _ in range(384) ] for _ in range(len(docs)) ]
data = [ {"id": i, "vector": vectors[i], "text": docs[i], "subject": "history"} for i in range(len(vectors)) ]
res = client.insert(
    collection_name="demo_collection",
    data=data
)

# This will exclude any text in "history" subject despite close to the query vector.
res = client.search(
    collection_name="demo_collection",
    data=[vectors[0]],
    filter="subject == 'history'",
    limit=2,
    output_fields=["text", "subject"],
)
print(res)

# a query that retrieves all entities matching filter expressions.
res = client.query(
    collection_name="demo_collection",
    filter="subject == 'history'",
    output_fields=["text", "subject"],
)
print(res)

# delete
res = client.delete(
    collection_name="demo_collection",
    filter="subject == 'history'",
)
print(res)

الحدود

عند تشغيل Milvus Lite، لاحظ أن بعض الميزات غير مدعومة. تلخص الجداول التالية حدود الاستخدام على Milvus Lite.

المجموعة

الطريقة / المعلمةمدعومة في ميلفوس لايت
إنشاء_مجموعة()الدعم بمعلمات محدودة
collection_nameY
dimensionY
primary_field_nameY
id_typeY
vector_field_nameY
metric_typeY
auto_idY
schemaY
index_paramsY
enable_dynamic_fieldY
num_shardsN
partition_key_fieldN
num_partitionsN
consistency_levelN (يدعم فقط Strong ؛ سيتم التعامل مع أي تكوين على أنه Strong).
get_collection_stats()يدعم الحصول على إحصائيات المجموعة.
collection_nameY
timeoutY
وصف_التجميع()num_shardsو consistency_level و collection_id في الاستجابة غير صالحة.
timeoutY
لديها_مجموعة()يدعم التحقق مما إذا كانت المجموعة موجودة.
collection_nameY
timeoutY
سرد_المجموعات()يدعم سرد كل المجموعات.
إسقاط_مجموعة()يدعم إسقاط مجموعة.
collection_nameY
timeoutY
إعادة تسمية_مجموعة()إعادة تسمية مجموعة غير مدعومة.

الحقل والمخطط

الطريقة / المعلمةمدعوم في ميلفوس لايت
إنشاء_مخطط()الدعم بمعلمات محدودة
auto_idY
enable_dynamic_fieldY
primary_fieldY
partition_key_fieldN
إضافة_حقل()الدعم بمعلمات محدودة
field_nameY
datatypeY
is_primaryY
max_lengthY
element_typeY
max_capacityY
dimY
is_partition_keyN
الطريقة / المعلمةمدعوم في ميلفوس لايت
بحث()الدعم بمعلمات محدودة
collection_nameY
dataY
filterY
limitY
output_fieldsY
search_paramsY
timeoutY
partition_namesN
anns_fieldY
استعلام()الدعم بمعلمات محدودة
collection_nameY
filterY
output_fieldsY
timeoutY
idsY
partition_namesN
الحصول على ()الدعم بمعلمات محدودة
collection_nameY
idsY
output_fieldsY
timeoutY
partition_namesN
حذف()الدعم بمعلمات محدودة
collection_nameY
idsY
timeoutY
filterY
partition_nameN
إدراج ()الدعم بمعلمات محدودة
collection_nameY
dataY
timeoutY
partition_nameN
إدراج ()الدعم بمعلمات محدودة
collection_nameY
dataY
timeoutY
partition_nameN

التحميل والإصدار

الطريقة / المعلمةمدعوم في ميلفوس لايت
تحميل_مجموعة()Y
collection_nameY
timeoutY
إصدار_مجموعة()Y
collection_nameY
timeoutY
الحصول على_حالة_التحميل()الحصول على حالة التحميل غير مدعوم.
تحديث_التحميل()تحميل البيانات التي تم إلغاء تحميلها من مجموعة محملة غير معتمد.
إغلاق()Y

فهرس

الطريقة / المعلمةمدعوم في ميلفوس لايت
list_indexes()سرد الفهارس مدعوم.
collection_nameY
field_nameY
إنشاء_الفهرس()يدعم فقط نوع الفهرس FLAT.
index_paramsY
timeoutY
إسقاط_الفهرس()إسقاط الفهارس مدعوم.
collection_nameY
index_nameY
timeoutY
وصف_الفهرس()وصف الفهارس معتمد.
collection_nameY
index_nameY
timeoutY

أنواع الفهرس المتجه

يدعم Milvus Lite نوع الفهرس المسطح فقط. يستخدم نوع FLAT بغض النظر عن نوع الفهرس المحدد في المجموعة.

ميزات البحث

يدعم Milvus Lite المتجهات المتفرقة والمتجهات المتعددة والبحث الهجين.

التقسيم

لا يدعم Milvus Lite الأقسام والطرق المتعلقة بالتقسيم.

المستخدمون والأدوار

لا يدعم Milvus Lite المستخدمين والأدوار والأساليب ذات الصلة.

الأسماء المستعارة

لا يدعم Milvus Lite الأسماء المستعارة والأساليب المتعلقة بالأسماء المستعارة.

ترحيل البيانات من ميلفوس لايت

يمكن تصدير جميع البيانات المخزنة في Milvus Lite بسهولة وتحميلها إلى أنواع أخرى من نشر Milvus، مثل Milvus Standalone على Docker، أو Milvus Distributed على K8s، أو Milvus المدارة بالكامل على Zilliz Cloud.

يوفّر Milvus Lite أداة سطر أوامر يمكنها تفريغ البيانات في ملف json، والذي يمكن استيراده إلى milvus وZilliz Cloud(الخدمة السحابية المدارة بالكامل لـ Milvus). سيتم تثبيت أمر ميلفوس لايت مع حزمة ميلفوس لايت بايثون

# Install
pip install -U "pymilvus[bulk_writer]"

milvus-lite dump -h

usage: milvus-lite dump [-h] [-d DB_FILE] [-c COLLECTION] [-p PATH]

optional arguments:
  -h, --help            show this help message and exit
  -d DB_FILE, --db-file DB_FILE
                        milvus lite db file
  -c COLLECTION, --collection COLLECTION
                        collection that need to be dumped
  -p PATH, --path PATH  dump file storage dir

يقوم المثال التالي بتفريغ جميع البيانات من مجموعة demo_collection المخزنة في ./milvus_demo.db (ملف قاعدة بيانات Milvus Lite)

لتصدير البيانات:

milvus-lite dump -d ./milvus_demo.db -c demo_collection -p ./data_dir
# ./milvus_demo.db: milvus lite db file
# demo_collection: collection that need to be dumped
#./data_dir : dump file storage dir

باستخدام ملف التفريغ، يمكنك تحميل البيانات إلى زيليز كلاود عبر استيراد البيانات، أو تحميل البيانات إلى خوادم ميلفوس عبر الإدراج بالجملة.

الخطوة التالية

بعد الاتصال بـ Milvus Lite، يمكنك

جرب Managed Milvus مجاناً

Zilliz Cloud خالي من المتاعب، ويعمل بواسطة Milvus ويعمل بسرعة 10 أضعاف.

ابدأ
التعليقات

هل كانت هذه الصفحة مفيدة؟