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

milvus-logo
LFAI
الصفحة الرئيسية
  • النماذج
  • Home
  • Docs
  • النماذج

  • التضمينات

  • OpenAI

OpenAI

يتكامل ميلفوس مع نماذج OpenAI عبر فئة OpenAIEmbeddingFunction. توفّر هذه الفئة طرقًا لترميز المستندات والاستعلامات باستخدام نماذج OpenAI المُدرّبة مسبقًا وإرجاع التضمينات كمتجهات كثيفة متوافقة مع فهرسة Milvus. للاستفادة من هذه الوظيفة، احصل على مفتاح API من OpenAI من خلال إنشاء حساب على منصتهم.

لاستخدام هذه الميزة، قم بتثبيت التبعيات اللازمة:

pip install --upgrade pymilvus
pip install "pymilvus[model]"

ثم، قم بإنشاء OpenAIEmbeddingFunction:

from pymilvus import model

openai_ef = model.dense.OpenAIEmbeddingFunction(
    model_name='text-embedding-3-large', # Specify the model name
    api_key='YOUR_API_KEY', # Provide your OpenAI API key
    dimensions=512 # Set the embedding dimensionality
)

المعلمات:

  • اسم_النموذج(سلسلة)

    اسم نموذج OpenAI المراد استخدامه للترميز. الخيارات الصالحة هي text-تضمين النص-3-small، و text-تضمين النص-3-large، و text-تضمين النص-AD-002 (افتراضي).

  • مفتاح_API(سلسلة)

    مفتاح واجهة برمجة التطبيقات للوصول إلى واجهة برمجة تطبيقات OpenAI.

  • الأبعاد(int)

    عدد الأبعاد التي يجب أن تحتوي عليها التضمينات الناتجة. مدعوم فقط في تضمين النص-3 والنماذج الأحدث.

لإنشاء تضمينات للمستندات، استخدم طريقة تشفير_المستندات():

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

docs_embeddings = openai_ef.encode_documents(docs)

# Print embeddings
print("Embeddings:", docs_embeddings)
# Print dimension and shape of embeddings
print("Dim:", openai_ef.dim, docs_embeddings[0].shape)

يكون الناتج المتوقع مشابهًا لما يلي:

Embeddings: [array([ 1.76741909e-02, -2.04964578e-02, -1.09788161e-02, -5.27223349e-02,
        4.23139781e-02, -6.64533582e-03,  4.21088142e-03,  1.04644023e-01,
        5.10009527e-02,  5.32827862e-02, -3.26061808e-02, -3.66494283e-02,
...
       -8.93232748e-02,  6.68255147e-03,  3.55093405e-02, -5.09071983e-02,
        3.74144339e-03,  4.72541340e-02,  2.11916920e-02,  1.00753829e-02,
       -5.76633997e-02,  9.68257990e-03,  4.62721288e-02, -4.33261096e-02])]
Dim: 512 (512,)

لإنشاء تضمينات للاستعلامات، استخدم الأسلوب encode_queries():

queries = ["When was artificial intelligence founded", 
           "Where was Alan Turing born?"]

query_embeddings = openai_ef.encode_queries(queries)

# Print embeddings
print("Embeddings:", query_embeddings)
# Print dimension and shape of embeddings
print("Dim", openai_ef.dim, query_embeddings[0].shape)

الناتج المتوقع مشابه لما يلي:

Embeddings: [array([ 0.00530251, -0.01907905, -0.01672608, -0.05030033,  0.01635982,
       -0.03169853, -0.0033602 ,  0.09047844,  0.00030747,  0.11853652,
       -0.02870182, -0.01526102,  0.05505067,  0.00993909, -0.07165466,
...
       -9.78106782e-02, -2.22669560e-02,  1.21873049e-02, -4.83198799e-02,
        5.32377362e-02, -1.90469325e-02,  5.62430918e-02,  1.02650477e-02,
       -6.21757433e-02,  7.88027793e-02,  4.91846527e-04, -1.51633881e-02])]
Dim 512 (512,)
جدول المحتويات

جرب Managed Milvus مجاناً

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

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

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