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

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

  • المجموعات

  • إنشاء المجموعة على الفور

إنشاء مجموعة على الفور

يمكنك إنشاء مجموعة على الفور عن طريق تعيين اسمها وأبعاد الحقل المتجه. يقوم ميلفوس تلقائيًا بفهرسة الحقل المتجه وتحميل المجموعة عند الإنشاء. توضح هذه الصفحة كيفية إنشاء مجموعة على الفور بالإعدادات الافتراضية.

نظرة عامة

المجموعة عبارة عن جدول ثنائي الأبعاد مع أعمدة ثابتة وصفوف متغيرة. يمثل كل عمود حقلاً، ويمثل كل صف كيانًا. يلزم وجود مخطط لتنفيذ إدارة البيانات الهيكلية هذه. يجب أن يفي كل كيان يتم إدراجه بالقيود المحددة في المخطط.

عادةً ما تستخدم تطبيقات AIGC قواعد البيانات المتجهة كقاعدة معارف لإدارة البيانات التي تم إنشاؤها أثناء التفاعل بين المستخدمين ونماذج اللغات الكبيرة (LLMs). تتشابه قواعد المعرفة هذه تقريبًا. لتسريع استخدام مجموعات Milvus في مثل هذه السيناريوهات، تتوفر لك طريقة فورية لإنشاء مجموعة بمعلمتين فقط، وهما اسم المجموعة وأبعاد الحقل المتجه.

عند إنشاء مجموعة على الفور بالإعدادات الافتراضية، يتم تطبيق الإعدادات التالية.

  • تتم إضافة الحقلين الأساسي والمتجه إلى المخطط(المعرف والمتجه).

  • يقبل الحقل الأساسي الأعداد الصحيحة ويعطل المعرف التلقائي.

  • يقبل حقل المتجه تضمينات المتجهات العائمة.

  • يستخدمAUTOINDEX لإنشاء فهرس على الحقل المتجه.

  • يستخدمCOSINE لقياس أوجه التشابه بين التضمينات المتجهة.

  • يتم تمكين الحقل الديناميكي الاحتياطي المسمى $meta لحفظ الحقول غير المعرفة من قبل النظام الأساسي وقيمها في أزواج قيمة المفتاح.

  • يتم تحميل المجموعة تلقائيًا عند الإنشاء.

للحصول على تفاصيل حول المصطلحات أعلاه، راجع شرح المجموعة.

تجدر الإشارة إلى أن إنشاء مجموعة على الفور بالإعدادات الافتراضية لا يناسب جميع السيناريوهات. ننصحك بالتعرف على إجراءات إنشاء المجموعات الشائعة حتى تتمكن من فهم إمكانيات Milvus بشكل أفضل.

الإعداد السريع

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

from pymilvus import MilvusClient, DataType

CLUSTER_ENDPOINT = "http://localhost:19530"
TOKEN = "root:Milvus"

# 1. Set up a Milvus client
client = MilvusClient(
    uri=CLUSTER_ENDPOINT,
    token=TOKEN 
)

# 2. Create a collection in quick setup mode
client.create_collection(
    collection_name="quick_setup",
    dimension=5
)

res = client.get_load_state(
    collection_name="quick_setup"
)

print(res)

# Output
#
# {
#     "state": "<LoadState: Loaded>"
# }

import io.milvus.v2.client.ConnectConfig;
import io.milvus.v2.client.MilvusClientV2;
import io.milvus.v2.service.collection.request.GetLoadStateReq;
import io.milvus.v2.service.collection.request.CreateCollectionReq;

String CLUSTER_ENDPOINT = "http://localhost:19530";
String TOKEN = "root:Milvus";

// 1. Connect to Milvus server
ConnectConfig connectConfig = ConnectConfig.builder()
        .uri(CLUSTER_ENDPOINT)
        .token(TOKEN)
        .build();

MilvusClientV2 client = new MilvusClientV2(connectConfig);

// 2. Create a collection in quick setup mode
CreateCollectionReq quickSetupReq = CreateCollectionReq.builder()
        .collectionName("quick_setup")
        .dimension(5)
        .build();

client.createCollection(quickSetupReq);

GetLoadStateReq quickSetupLoadStateReq = GetLoadStateReq.builder()
        .collectionName("quick_setup")
        .build();

Boolean res = client.getLoadState(quickSetupLoadStateReq);
System.out.println(res);

// Output:
// true

// 1. Set up a Milvus Client
import { MilvusClient, DataType } from "@zilliz/milvus2-sdk-node";

const address = "http://localhost:19530";
const token = "root:Milvus";
const client = new MilvusClient({address, token});

// 2. Create a collection in quick setup mode
let res = await client.createCollection({
    collection_name: "quick_setup",
    dimension: 5,
});  

console.log(res.error_code)

// Output
// 
// Success
// 

res = await client.getLoadState({
    collection_name: "quick_setup"
})

console.log(res.state)

// Output
// 
// LoadStateLoaded
// 

// Go 缺失

export CLUSTER_ENDPOINT="http://localhost:19530"
export TOKEN="root:Milvus"

curl --request POST \
--url "${CLUSTER_ENDPOINT}/v2/vectordb/collections/create" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Content-Type: application/json" \
-d '{
    "collectionName": "quick_setup",
    "dimension": 5
}'

# {
#     "code": 0,
#     "data": {}
# }

إعداد سريع مع الحقول المخصصة

إذا كان نوع القياس وأسماء الحقول وأنواع البيانات الافتراضية لا تلبي حاجتك، يمكنك ضبط هذه الإعدادات على النحو التالي.

from pymilvus import MilvusClient, DataType

CLUSTER_ENDPOINT = "http://localhost:19530"
TOKEN = "root:Milvus"

# 1. Set up a Milvus client
client = MilvusClient(
    uri=CLUSTER_ENDPOINT,
    token=TOKEN 
)

# 2. Create a collection in quick setup mode
client.create_collection(
    collection_name="custom_quick_setup",
    dimension=5,
    primary_field_name="my_id",
    id_type="string",
    vector_field_name="my_vector",
    metric_type="L2",
    auto_id=True,
    max_length=512
)

res = client.get_load_state(
    collection_name="custom_quick_setup"
)

print(res)

# Output
#
# {
#     "state": "<LoadState: Loaded>"
# }

import io.milvus.v2.client.ConnectConfig;
import io.milvus.v2.client.MilvusClientV2;
import io.milvus.v2.service.collection.request.GetLoadStateReq;
import io.milvus.v2.service.collection.request.CreateCollectionReq;

String CLUSTER_ENDPOINT = "http://localhost:19530";
String TOKEN = "root:Milvus";

// 1. Connect to Milvus server
ConnectConfig connectConfig = ConnectConfig.builder()
        .uri(CLUSTER_ENDPOINT)
        .token(TOKEN)
        .build();

MilvusClientV2 client = new MilvusClientV2(connectConfig);

// 2. Create a collection in quick setup mode
CreateCollectionReq customQuickSetupReq = CreateCollectionReq.builder()
        .collectionName("custom_quick_setup")
        .dimension(5)
        .primaryFieldName("my_id")
        .idType(DataType.VarChar)
        .maxLength(512)
        .vectorFieldName("my_vector")
        .metricType("L2")
        .autoID(true)
        .build();

client.createCollection(customQuickSetupReq);

GetLoadStateReq customQuickSetupLoadStateReq = GetLoadStateReq.builder()
        .collectionName("custom_quick_setup")
        .build();

Boolean res = client.getLoadState(customQuickSetupLoadStateReq);
System.out.println(res);

// Output:
// true

// 1. Set up a Milvus Client
const address = "http://localhost:19530";
const token = "root:Milvus";
const client = new MilvusClient({address, token});

// 2. Create a collection in quick setup mode
let res = await client.createCollection({
    collection_name: "custom_quick_setup",
    dimension: 5,
    primary_field_name: "my_id",
    id_type: "Varchar",
    max_length: 512,
    vector_field_name: "my_vector",
    metric_type: "L2",
    auto_id: true
});  

console.log(res.error_code)

// Output
// 
// Success
// 

res = await client.getLoadState({
    collection_name: "custom_quick_setup"
})

console.log(res.state)

// Output
// 
// LoadStateLoaded
// 

// Go 缺失

export CLUSTER_ENDPOINT="http://localhost:19530"
export TOKEN="root:Milvus"

curl --request POST \
--url "${CLUSTER_ENDPOINT}/v2/vectordb/collections/create" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Content-Type: application/json" \
-d '{
    "collectionName": "custom_quick_setup",
    "dimension": 5,
    "primaryFieldName": "my_id",
    "idType": "VarChar",
    "vectorFieldName": "my_vector",
    "metricType": "L2",
    "autoId": true,
    "params": {
        "max_length": "512"
    }
}'

إذا كانت المجموعات التي تم إنشاؤها باستخدام الطريقتين المذكورتين أعلاه لا تزال غير قادرة على تلبية احتياجاتك، ففكر في اتباع الإجراء في إنشاء مجموعة.

جرب Managed Milvus مجاناً

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

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

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