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

milvus-logo
LFAI
الصفحة الرئيسية
  • عمليات الدمج
    • أخرى
  • Home
  • Docs
  • عمليات الدمج

  • أخرى

  • ندفة الثلج

ميلفوس على خدمات حاويات Snowpark

يوضح هذا الدليل كيفية بدء عرض Milvus التجريبي على خدمات حاويات Snowpark.

حول Snowpark Container Services

خدمات حاويات Snowpark Container Services عبارة عن عرض حاويات مُدار بالكامل مصمم لتسهيل نشر التطبيقات المعبأة في حاويات وإدارتها وتوسيع نطاقها داخل نظام Snowflake البيئي. تمكّن هذه الخدمة المستخدمين من تشغيل أعباء العمل في حاويات مباشرةً داخل Snowflake، مما يضمن عدم الحاجة إلى نقل البيانات خارج بيئة Snowflake للمعالجة. لمزيد من المعلومات، يرجى الرجوع إلى المقدمة الرسمية: خدمات Snowpark Container Services.

تكوين عرض ميلفوس التجريبي

سيتيح ما يلي للمستخدمين فهم إمكانيات Milvus وكيفية استخدام Milvus في SPCS من خلال التكوين والتعليمات البرمجية.

1. الحصول على معلومات الحساب

قم بتنزيل عميل SPCS: SnowSQL، ثم قم بتسجيل الدخول إلى حسابك.

snowsql -a ${instance_name} -u ${user_name}

قاعدة ${instance_name} هي ${org_name}-${acct_name}. يمكن الحصول على المعلومات ذات الصلة عن طريق تسجيل الدخول إلى app.snowflake.com والتحقق من معلومات الحساب الشخصي.

Snowflake account information معلومات حساب Snowflake

2. تكوين الدور والامتيازات

تكوين تكامل OAUTH.

USE ROLE ACCOUNTADMIN;
CREATE SECURITY INTEGRATION SNOWSERVICES_INGRESS_OAUTH
  TYPE=oauth
  OAUTH_CLIENT=snowservices_ingress
  ENABLED=true;
  
USE ROLE ACCOUNTADMIN;
GRANT BIND SERVICE ENDPOINT ON ACCOUNT TO ROLE SYSADMIN;

قم بإنشاء دور للخدمة، لاحظ أن الجزء ${PASSWORD} هنا يجب استبداله من قبل المستخدم عندما يكون العرض التوضيحي

USE ROLE SECURITYADMIN;
CREATE ROLE MILVUS_ROLE;

USE ROLE USERADMIN;
CREATE USER milvus_user
  PASSWORD='milvususerok'
  DEFAULT_ROLE = MILVUS_ROLE
  DEFAULT_SECONDARY_ROLES = ('ALL')
  MUST_CHANGE_PASSWORD = FALSE;
  
USE ROLE SECURITYADMIN;
GRANT ROLE MILVUS_ROLE TO USER milvus_user;

3. إنشاء تكوين تخزين البيانات

  • إنشاء مستودع وقاعدة بيانات

    USE ROLE SYSADMIN;
    CREATE OR REPLACE WAREHOUSE MILVUS_WAREHOUSE WITH
    WAREHOUSE_SIZE='X-SMALL'
    AUTO_SUSPEND = 180
    AUTO_RESUME = true
    INITIALLY_SUSPENDED=false;
    
    USE ROLE SYSADMIN;
    CREATE DATABASE IF NOT EXISTS MILVUS_DEMO;
    USE DATABASE MILVUS_DEMO;
    CREATE IMAGE REPOSITORY MILVUS_DEMO.PUBLIC.MILVUS_REPO;
    CREATE OR REPLACE STAGE YAML_STAGE;
    CREATE OR REPLACE STAGE DATA ENCRYPTION = (TYPE = 'SNOWFLAKE_SSE');
    CREATE OR REPLACE STAGE FILES ENCRYPTION = (TYPE = 'SNOWFLAKE_SSE');
    
  • منح امتيازات الدور

    USE ROLE SECURITYADMIN;
    GRANT ALL PRIVILEGES ON DATABASE MILVUS_DEMO TO MILVUS_ROLE;
    GRANT ALL PRIVILEGES ON SCHEMA MILVUS_DEMO.PUBLIC TO MILVUS_ROLE;
    GRANT ALL PRIVILEGES ON WAREHOUSE MILVUS_WAREHOUSE TO MILVUS_ROLE;
    GRANT ALL PRIVILEGES ON STAGE MILVUS_DEMO.PUBLIC.FILES TO MILVUS_ROLE;
    
  • تكوين ACL

    USE ROLE ACCOUNTADMIN;
    USE DATABASE MILVUS_DEMO;
    USE SCHEMA PUBLIC;
    CREATE NETWORK RULE allow_all_rule
    TYPE = 'HOST_PORT'
    MODE= 'EGRESS'
    VALUE_LIST = ('0.0.0.0:443','0.0.0.0:80');
    
    CREATE EXTERNAL ACCESS INTEGRATION allow_all_eai
    ALLOWED_NETWORK_RULES=(allow_all_rule)
    ENABLED=TRUE;
    
    GRANT USAGE ON INTEGRATION allow_all_eai TO ROLE SYSADMIN;
    

4. إنشاء الصور

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

  • بناء الصور محليًا

    افتح الصدفة المحلية وابدأ في بناء الصور.

    cd ${repo_git_root_path}
    docker build --rm --no-cache --platform linux/amd64 -t milvus ./images/milvus
    docker build --rm --no-cache --platform linux/amd64 -t jupyter ./images/jupyter
    

    هناك صورتان هنا، الأولى تقوم بتشغيل قاعدة بيانات Milvus، والثانية هي دفتر الملاحظات المستخدم للعرض.

    بعد بناء الصور المحلية، استعد لتمييزها وتحميلها.

  • وسم الصور المبنية

    قم بتسجيل الدخول إلى محور docker لـ SPCS.

    docker login ${instance_name}.registry.snowflakecomputing.com -u ${user_name}
    

    ويمكنك وضع علامة على الصور لـ spcs الآن.

    docker tag milvus ${instance_name}.registry.snowflakecomputing.com/milvus_demo/public/milvus_repo/milvus
    docker tag jupyter ${instance_name}.registry.snowflakecomputing.com/milvus_demo/public/milvus_repo/jupyter
    

    ثم استخدم docker images | grep milvus في الغلاف المحلي للتحقق مما إذا كانت الصورة قد تم تجميعها ووسمها بنجاح.

    docker images | grep milvus
    
    ${instance_name}.registry.snowflakecomputing.com/milvus_demo/public/milvus_repo/milvus    latest        3721bbb8f62b   2 days ago    2.95GB
    ${instance_name}.registry.snowflakecomputing.com/milvus_demo/public/milvus_repo/jupyter   latest        20633f5bcadf   2 days ago    2GB
    
  • ادفع الصور إلى SPCS

    docker push ${instance_name}.registry.snowflakecomputing.com/milvus_demo/public/milvus_repo/milvus
    docker push ${instance_name}.registry.snowflakecomputing.com/milvus_demo/public/milvus_repo/jupyter
    

5. إنشاء الخدمات وبدء تشغيلها

دعنا نعود إلى قذيفة SnowSQL.

  • إنشاء تجمعات الحوسبة
USE ROLE SYSADMIN;
CREATE COMPUTE POOL IF NOT EXISTS MILVUS_COMPUTE_POOL
  MIN_NODES = 1
  MAX_NODES = 1
  INSTANCE_FAMILY = CPU_X64_S
  AUTO_RESUME = true;
CREATE COMPUTE POOL IF NOT EXISTS JUPYTER_COMPUTE_POOL
  MIN_NODES = 1
  MAX_NODES = 1
  INSTANCE_FAMILY = CPU_X64_S
  AUTO_RESUME = true;

تحقق من تجمعات الحوسبة من خلال DESCRIBE حتى الحالة ACTIVE أو IDLE.

DESCRIBE COMPUTE POOL MILVUS_COMPUTE_POOL;
DESCRIBE COMPUTE POOL JUPYTER_COMPUTE_POOL;

Compute pool status حالة تجمعات الحوسبة

  • تحميل ملفات المواصفات

بعد إنشاء تجمع الحوسبة، ابدأ في إعداد ملف spce للخدمة. الملفات موجودة أيضًا في هذا الريبو. يرجى الرجوع إلى دليل المواصفات.

افتح ملفات المواصفات الخاصة بهاتين الخدمتين، وابحث عن ${org_name}-${acct_name} في ملف المواصفات، واستبدلها بـ ${instance_name} لحسابك الخاص. بعد التعديل، استخدم SnowSQL لإكمال التحميل.

PUT file://${path/to/jupyter.yaml} @yaml_stage overwrite=true auto_compress=false;
PUT file://${path/to/milvus.yaml} @yaml_stage overwrite=true auto_compress=false;
  • إنشاء الخدمة

عند اكتمال التحميل، تكون جاهزًا لإنشاء الخدمة، تابع لإكمال عملية إنشاء الخدمة.

USE ROLE SYSADMIN;
USE DATABASE MILVUS_DEMO;
USE SCHEMA PUBLIC;

CREATE SERVICE MILVUS
  IN COMPUTE POOL MILVUS_COMPUTE_POOL 
  FROM @YAML_STAGE
  SPEC='milvus.yaml'
  MIN_INSTANCES=1
  MAX_INSTANCES=1;

CREATE SERVICE JUPYTER
  IN COMPUTE POOL JUPYTER_COMPUTE_POOL 
  FROM @YAML_STAGE
  SPEC='jupyter.yaml'
  MIN_INSTANCES=1
  MAX_INSTANCES=1;

يمكن أيضًا عرض الخدمات من خلال SHOW SERVICES;.

SHOW SERVICES;

+---------+---------------+-------------+----------+----------------------+--------------------------------------------------------+-----------------
| name    | database_name | schema_name | owner    | compute_pool         | dns_name                                               | ......
|---------+---------------+-------------+----------+----------------------+--------------------------------------------------------+-----------------
| JUPYTER | MILVUS_DEMO   | PUBLIC      | SYSADMIN | JUPYTER_COMPUTE_POOL | jupyter.public.milvus-demo.snowflakecomputing.internal | ...... 
| MILVUS  | MILVUS_DEMO   | PUBLIC      | SYSADMIN | MILVUS_COMPUTE_POOL  | milvus.public.milvus-demo.snowflakecomputing.internal  | ......
+---------+---------------+-------------+----------+----------------------+--------------------------------------------------------+-----------------

إذا واجهتك مشاكل في بدء الخدمة، يمكنك عرض معلومات الخدمة من خلال CALL SYSTEM$GET_SERVICE_STATUS('milvus');.

Service status حالة الخدمة

يمكن الحصول على مزيد من المعلومات من خلال CALL SYSTEM$GET_SERVICE_LOGS('milvus', '0', 'milvus', 10);.

استخدام دفتر الملاحظات

استخدم SnowSQL لمنح الأذونات.

USE ROLE SECURITYADMIN;
GRANT USAGE ON SERVICE MILVUS_DEMO.PUBLIC.JUPYTER TO ROLE MILVUS_ROLE;

ثم قم بعرض وتسجيل نقطة نهاية دفتر ملاحظات جوبيتر.

USE ROLE SYSADMIN;
SHOW ENDPOINTS IN SERVICE MILVUS_DEMO.PUBLIC.JUPYTER;

سجّل الجزء ingress_url من المعلومات، ثم افتح المتصفح وأدخل ingress_url ، استخدم حساب milvus_user لتسجيل الدخول إلى الموقع الإلكتروني.

Obtain the ingress URL الحصول على عنوان URL للدخول

افتح دفتر الملاحظات من خلال ingress_url ، انقر نقرًا مزدوجًا على ملف TestMilvus.ipynb على الصفحة لتجربة ميلفوس. حدد الجزء الأول من كتلة التعليمات البرمجية، وانقر فوق الزر تشغيل لبدء إنشاء الاتصال وتهيئة وظيفة التضمين.

Run TestMilvus.ipynb in the notebook قم بتشغيل TestMilvus.ipynb في دفتر الملاحظات

بعد إنشاء الاتصال، تابع النقر على تشغيل. سيقوم الرمز بتحويل جزء من النص إلى بيانات متجهة بعد معالجة التضمين، ثم إدراجه في ملفوس.

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.",
]

ثم استخدم نصًا كاستعلام: "من بدأ أبحاث الذكاء الاصطناعي؟"، وقم بإجراء الاستعلام بعد تضمين المعالجة، وأخيرًا الحصول على النتائج الأكثر صلة وعرضها.

Obtain and display the most relevant results الحصول على النتائج الأكثر صلة وعرضها

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

7. التنظيف

بعد التحقق، يمكنك استخدام SnowSQL لتنظيف الخدمات والأدوار وموارد البيانات.

USE ROLE ACCOUNTADMIN;
DROP USER milvus_user;

USE ROLE SYSADMIN;
DROP SERVICE MILVUS;
DROP SERVICE JUPYTER;

DROP COMPUTE POOL MILVUS_COMPUTE_POOL;
DROP COMPUTE POOL JUPYTER_COMPUTE_POOL;

DROP IMAGE REPOSITORY MILVUS_DEMO.PUBLIC.MILVUS_REPO;
DROP DATABASE MILVUS_DEMO;
DROP WAREHOUSE MILVUS_WAREHOUSE;

USE ROLE ACCOUNTADMIN;
DROP ROLE MILVUS_ROLE;
DROP SECURITY INTEGRATION SNOWSERVICES_INGRESS_OAUTH;

حول ملفوس

لمزيد من المعلومات حول ميلفوس، يمكنك البدء بمقدمة ميلفوس والبداية السريعة. وبالطبع، هناك مقدمة أكثر تفصيلاً عن واجهة برمجة التطبيقات، وارجع إلى إصدارات Python و Java، وهناك أيضًا معلومات حول التضمينات والتكاملات للرجوع إليها.

جرب Managed Milvus مجاناً

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

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

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