الجوزاء

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

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

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

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

from pymilvus import model

gemini_ef = model.dense.GeminiEmbeddingFunction(
    model_name='gemini-embedding-exp-03-07', # Specify the model name
    api_key='YOUR_API_KEY', # Provide your OpenAI API key
)

المعلمات:

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

    اسم نموذج Gemini المراد استخدامه للترميز. الخيارات الصالحة هي gemini-dembedding-exp-03-07(افتراضي)، و models/dembedding-001، و models/text-dembedding-004.

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

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

  • التكوين(types.EmbedContentConfig) تكوين اختياري لنموذج التضمين.

    • يمكن تحديد البعد_المخرجات إلى عدد التضمينات الناتجة.
    • يمكن تحديد نوع_المهمة لإنشاء تضمينات مُحسَّنة لمهام محددة، مما يوفر لك الوقت والتكلفة ويحسن الأداء. مدعوم فقط في نموذج gemini-embedding-exp-03-07.
اسم النموذجالأبعاد
gemini-embedding-exp-03-073072(default),1536,768
النماذج/التضمين-001768
النماذج/تضمين النص-004768
نوع المهمةالوصف
التشابه الدلاليتُستخدم لتوليد التضمينات التي تم تحسينها لتقييم تشابه النص.
التصنيفيُستخدم لتوليد التضمينات التي تم تحسينها لتصنيف النصوص وفقًا لتسميات محددة مسبقًا.
التجميعيُستخدم لإنشاء التضمينات التي تم تحسينها لتجميع النصوص بناءً على أوجه التشابه بينها.
RETRIREREVAL_DOCUMENT وRETREVAL_QUERY_QUERY وQESTION_ANSWERING وFACT_VERIFICATIONتُستخدم لتوليد التضمينات المحسّنة للبحث عن المستندات أو استرجاع المعلومات.
استعلام_استرجاع_الكوديُستخدم لاسترداد كتلة كود بناءً على استعلام لغة طبيعية، مثل فرز مصفوفة أو عكس قائمة مرتبطة. يتم حساب تضمينات كتل التعليمات البرمجية باستخدام RETRIEVAL_DOCUMENT.

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

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

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

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

Embeddings: [array([-0.00894029,  0.00573813,  0.013351  , ..., -0.00042766,
       -0.00603091, -0.00341043], shape=(3072,)), array([ 0.00222347,  0.03725113,  0.01152256, ...,  0.01047272,
       -0.01701597,  0.00565377], shape=(3072,)), array([ 0.00661134,  0.00232328, -0.01342973, ..., -0.00514429,
       -0.02374139, -0.00701721], shape=(3072,))]
Dim: 3072 (3072,)

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

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

query_embeddings = gemini_ef.encode_queries(queries)

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

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

Embeddings: [array([-0.02066572,  0.02459551,  0.00707774, ...,  0.00259341,
       -0.01797572, -0.00626168], shape=(3072,)), array([ 0.00674969,  0.03023903,  0.01230692, ...,  0.00160009,
       -0.01710967,  0.00972728], shape=(3072,))]
Dim 3072 (3072,)
جدول المحتويات

جرب Managed Milvus مجاناً

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

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

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