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

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

  • التضمينات

  • SPLADE

SPLADE

تضمينSPLADE هو نموذج يوفر تمثيلات متناثرة للغاية للمستندات والاستعلامات، ويرث الخصائص المرغوبة من نماذج كيس الكلمات (BOW) مثل المطابقة الدقيقة للمصطلحات والكفاءة.

يتكامل ميلفوس مع نموذج SPLADE عبر فئة SpladeEmbeddingFunction. توفر هذه الفئة طرقًا لترميز المستندات والاستعلامات وإرجاع التضمينات كمتجهات متفرقة متوافقة مع فهرسة Milvus.

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

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

لتهيئة SpladeEmbeddingFunction، استخدم الأمر:

from pymilvus import model

splade_ef = model.sparse.SpladeEmbeddingFunction(
    model_name="naver/splade-cocondenser-selfdistil", 
    device="cpu"
)

المعلمات:

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

    اسم نموذج SPLADE المراد استخدامه للترميز. الخيارات الصالحة هي naver/splade-coplade-المكثف-المكثف-المجمع (افتراضي)، و naver/splade_v2_max، و naver/splade_v2_distil، و naver/splade_v2_distil، و naver/splade_v2_selfdistil. لمزيد من المعلومات، راجع اللعب بالنماذج.

  • الجهاز(سلسلة)

    الجهاز المراد استخدامه، مع cpu لوحدة المعالجة المركزية و cuda:n لجهاز وحدة معالجة الرسومات رقم n.

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

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 = splade_ef.encode_documents(docs)

# Print embeddings
print("Embeddings:", docs_embeddings)
# since the output embeddings are in a 2D csr_array format, we convert them to a list for easier manipulation.
print("Sparse dim:", splade_ef.dim, list(docs_embeddings)[0].shape)

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

Embeddings:   (0, 2001) 0.6392706036567688
  (0, 2034) 0.024093208834528923
  (0, 2082) 0.3230178654193878
...
  (2, 23602)    0.5671860575675964
  (2, 26757)    0.5770265460014343
  (2, 28639)    3.1990697383880615
Sparse dim: 30522 (1, 30522)

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

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

query_embeddings = splade_ef.encode_queries(queries)

# Print embeddings
print("Embeddings:", query_embeddings)
# since the output embeddings are in a 2D csr_array format, we convert them to a list for easier manipulation.
print("Sparse dim:", splade_ef.dim, list(query_embeddings)[0].shape)

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

Embeddings:   (0, 2001)        0.6353746056556702
  (0, 2194)        0.015553371049463749
  (0, 2301)        0.2756537199020386
...
  (1, 18522)        0.1282549500465393
  (1, 23602)        0.13133203983306885
  (1, 28639)        2.8150033950805664
Sparse dim: 30522 (1, 30522)
جدول المحتويات

جرب Managed Milvus مجاناً

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

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

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