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

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

  • التضمينات

  • كوهير

كوهير

تُستخدم نماذج التضمين في Cohere لتوليد تضمينات النص، وهي قوائم من الأرقام ذات الفاصلة العائمة التي تلتقط المعلومات الدلالية حول النص. يمكن استخدام هذه التضمينات في مهام مثل تصنيف النصوص والبحث الدلالي.

يتكامل ميلفوس مع نماذج التضمين الخاصة ب Cohere باستخدام فئة CohereEmbeddingFunction. يتعامل هذا الفصل مع حساب التضمينات ويعيدها بتنسيق متوافق مع Milvus للفهرسة والبحث.

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

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

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

from pymilvus.model.dense import CohereEmbeddingFunction

cohere_ef = CohereEmbeddingFunction(
    model_name="embed-english-light-v3.0",
    api_key="YOUR_COHERE_API_KEY",
    input_type="search_document",
    embedding_types=["float"]
)

المعلمات:

  • model_name (سلسلة)

    اسم نموذج التضمين Cohere المراد استخدامه للترميز. يمكنك تحديد أي من أسماء نماذج تضمين Cohere المتاحة، على سبيل المثال، embed-english-v3.0 ، embed-multilingual-v3.0 ، إلخ. إذا تركت هذه المعلمة غير محددة، فسيتم استخدام embed-english-light-v3.0. للاطلاع على قائمة النماذج المتاحة، راجع تضمين.

  • api_key (سلسلة)

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

  • input_type (سلسلة)

    نوع المدخلات التي تم تمريرها إلى النموذج. مطلوب لتضمين النماذج v3 والإصدارات الأحدث.

    • "search_document": يُستخدم للتضمينات المخزنة في قاعدة بيانات متجهة لحالات استخدام البحث.
    • "search_query": يُستخدم لتضمين استعلامات البحث التي يتم تشغيلها مقابل قاعدة بيانات متجهة للعثور على المستندات ذات الصلة.
    • "classification": تُستخدم للتضمينات التي يتم تمريرها من خلال مصنف نصي.
    • "clustering": يُستخدم للتضمينات التي يتم تشغيلها من خلال خوارزمية تجميع.
  • embedding_types (قائمة[ش])

    نوع التضمينات التي تريد استرجاعها. غير مطلوب والافتراضي هو بلا، والذي يُرجع نوع استجابة تضمين العوامات. حاليًا، يمكنك تحديد قيمة واحدة فقط لهذه المعلمة. القيم الممكنة:

    • "float": استخدم هذا عندما تريد استعادة التضمينات العائمة الافتراضية. صالحة لجميع النماذج.
    • "binary": استخدم هذا عندما تريد استعادة التضمينات الثنائية الموقعة. صالح لنماذج v3 فقط.
    • "ubinary": استخدم هذا عندما تريد استرجاع تضمينات ثنائية غير موقعة. صالح لنماذج v3 فقط.

لإنشاء تضمينات للمستندات، استخدم الأسلوب 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 = cohere_ef.encode_documents(docs)

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

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

Embeddings: [array([ 3.43322754e-02,  1.16252899e-03, -5.25207520e-02,  1.32846832e-03,
       -6.80541992e-02,  6.10961914e-02, -7.06176758e-02,  1.48925781e-01,
        1.54174805e-01,  1.98516846e-02,  2.43835449e-02,  3.55224609e-02,
        1.82952881e-02,  7.57446289e-02, -2.40783691e-02,  4.40063477e-02,
...
        0.06359863, -0.01971436, -0.02253723,  0.00354195,  0.00222015,
        0.00184727,  0.03408813, -0.00777817,  0.04919434,  0.01519775,
       -0.02862549,  0.04760742, -0.07891846,  0.0124054 ], dtype=float32)]
Dim: 384 (384,)

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

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

query_embeddings = cohere_ef.encode_queries(queries)

print("Embeddings:", query_embeddings)
print("Dim", cohere_ef.dim, query_embeddings[0].shape)

المخرجات المتوقعة مشابهة لما يلي:

Embeddings: [array([-1.33361816e-02,  9.79423523e-04, -7.28759766e-02, -1.93786621e-02,
       -9.71679688e-02,  4.34875488e-02, -9.81445312e-02,  1.16882324e-01,
        5.89904785e-02, -4.19921875e-02,  4.95910645e-02,  5.83496094e-02,
        3.47595215e-02, -5.87463379e-03, -7.30514526e-03,  2.92816162e-02,
...
        0.00749969, -0.01192474,  0.02719116,  0.03347778,  0.07696533,
        0.01409149,  0.00964355, -0.01681519, -0.0073204 ,  0.00043154,
       -0.04577637,  0.03591919, -0.02807617, -0.04812622], dtype=float32)]
Dim 384 (384,)
جدول المحتويات

جرب Managed Milvus مجاناً

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

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

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