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

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

  • التضمينات

  • محولات الجمل

محولات الجمل

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

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

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

بعد ذلك، قم بإنشاء دالة SentenceTransformerEmbeddingFunction:

from pymilvus import model

sentence_transformer_ef = model.dense.SentenceTransformerEmbeddingFunction(
    model_name='all-MiniLM-L6-v2', # Specify the model name
    device='cpu' # Specify the device to use, e.g., 'cpu' or 'cuda:0'
)

المعلمات:

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

    اسم نموذج محول الجملة المراد استخدامه للترميز. يتم تعيين القيمة افتراضيًا إلى All-MiniLM-L6-v2. يمكنك استخدام أي من نماذج محولات الجملة المدربة مسبقًا. للاطلاع على قائمة النماذج المتاحة، راجع النماذج المدربة مسبقًا.

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

    الجهاز المراد استخدامه، مع 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 = sentence_transformer_ef.encode_documents(docs)

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

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

Embeddings: [array([-3.09392996e-02, -1.80662833e-02,  1.34775648e-02,  2.77156215e-02,
       -4.86349640e-03, -3.12581174e-02, -3.55921760e-02,  5.76934684e-03,
        2.80773244e-03,  1.35783911e-01,  3.59678417e-02,  6.17732145e-02,
...
       -4.61330153e-02, -4.85207550e-02,  3.13997865e-02,  7.82178566e-02,
       -4.75336798e-02,  5.21207601e-02,  9.04406682e-02, -5.36676683e-02],
      dtype=float32)]
Dim: 384 (384,)

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

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

query_embeddings = sentence_transformer_ef.encode_queries(queries)

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

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

Embeddings: [array([-2.52114702e-02, -5.29330298e-02,  1.14570223e-02,  1.95571519e-02,
       -2.46500354e-02, -2.66519729e-02, -8.48201662e-03,  2.82961670e-02,
       -3.65092754e-02,  7.50745758e-02,  4.28900979e-02,  7.18822703e-02,
...
       -6.76431581e-02, -6.45996556e-02, -4.67132553e-02,  4.78532910e-02,
       -2.31596199e-03,  4.13446948e-02,  1.06935494e-01, -1.08258888e-01],
      dtype=float32)]
Dim: 384 (384,)
جدول المحتويات

جرب Managed Milvus مجاناً

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

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

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