مصنف CohereCompatible with Milvus 2.6.x

يستفيد برنامج Cohere Ranker من نماذج Cohere القوية لإعادة الترتيب لتعزيز ملاءمة البحث من خلال إعادة الترتيب الدلالي. وهو يوفر إمكانات إعادة الترتيب على مستوى المؤسسات مع بنية تحتية قوية لواجهة برمجة التطبيقات وأداء محسّن لبيئات الإنتاج.

ويُعد Cohere Ranker ذا قيمة خاصة للتطبيقات التي تتطلب:

  • فهم دلالي عالي الجودة مع أحدث نماذج إعادة الترتيب.

  • الموثوقية على مستوى المؤسسات وقابلية التوسع لأعباء عمل الإنتاج

  • قدرات إعادة الترتيب متعدد اللغات عبر أنواع المحتوى المتنوعة

  • أداء متسق لواجهة برمجة التطبيقات مع تحديد المعدل المدمج ومعالجة الأخطاء

المتطلبات الأساسية

قبل تنفيذ Cohere Ranker في Milvus، تأكد من أن لديك:

  • مجموعة ميلفوس مع حقل VARCHAR يحتوي على النص المراد إعادة تصنيفه

  • مفتاح Cohere API صالح مع إمكانية الوصول إلى نماذج إعادة التصنيف. قم بالتسجيل في منصة كوهير للحصول على بيانات اعتماد واجهة برمجة التطبيقات الخاصة بك. يمكنك إما

    • تعيين متغير البيئة COHERE_API_KEY ، أو

    • تحديد مفتاح واجهة برمجة التطبيقات مباشرةً في credential من تكوين مصنف كوهير

إنشاء وظيفة مصنف Cohere

لاستخدام Cohere Ranker Ranker في تطبيق Milvus الخاص بك، قم بإنشاء كائن دالة تحدد كيفية عمل إعادة الترتيب. سيتم تمرير هذه الدالة إلى عمليات بحث Milvus لتحسين ترتيب النتائج.

from pymilvus import MilvusClient, Function, FunctionType

# Connect to your Milvus server
client = MilvusClient(
    uri="http://localhost:19530"  # Replace with your Milvus server URI
)

# Configure Cohere Ranker
cohere_ranker = Function(
    name="cohere_semantic_ranker",          # Unique identifier for your ranker
    input_field_names=["document"],         # VARCHAR field containing text to rerank
    function_type=FunctionType.RERANK,      # Must be RERANK for reranking functions
    params={
        "reranker": "model",                # Enables model-based reranking
        "provider": "cohere",               # Specifies Cohere as the service provider
        "model_name": "rerank-english-v3.0", # Cohere rerank model to use
        "queries": ["renewable energy developments"], # Query text for relevance evaluation
        "max_client_batch_size": 128,       # Optional: batch size for model service requests (default: 128)
        "max_tokens_per_doc": 4096,         # Optional: max tokens per document (default: 4096)
        # "credential": "your-cohere-api-key" # Optional: authentication credential for Cohere API
    }
)
import io.milvus.v2.client.ConnectConfig;
import io.milvus.v2.client.MilvusClientV2;
import io.milvus.common.clientenum.FunctionType;
import io.milvus.v2.service.collection.request.CreateCollectionReq;

MilvusClientV2 client = new MilvusClientV2(ConnectConfig.builder()
        .uri("http://localhost:19530")
        .build());

CreateCollectionReq.Function ranker = CreateCollectionReq.Function.builder()
                       .functionType(FunctionType.RERANK)
                       .name("cohere_semantic_ranker")
                       .inputFieldNames(Collections.singletonList("document"))
                       .param("reranker", "model")
                       .param("provider", "cohere")
                       .param("model_name", "rerank-english-v3.0")
                       .param("queries", "[\"renewable energy developments\"]")
                       .param("endpoint", "http://localhost:8080")
                       .param("max_client_batch_size", "128")
                       .param("max_tokens_per_doc", "4096")
                       .build();
// nodejs
// go
# restful

معلمات خاصة بمصنّف Cohere

المعلمات التالية خاصة بمصنّف كوهير:

المعلمة

مطلوبة؟

الوصف

القيمة / مثال

reranker

نعم

يجب ضبطها على "model" لتمكين إعادة ترتيب النماذج.

"model"

provider

نعم

مزود خدمة النموذج المراد استخدامه لإعادة الترتيب.

"cohere"

model_name

نعم

نموذج إعادة تصنيف Cohere المراد استخدامه من النماذج المدعومة على منصة Cohere.

للاطلاع على قائمة نماذج إعادة الترتيب المتاحة، راجع وثائق Cohere.

"rerank-english-v3.0", "rerank-multilingual-v3.0"

queries

نعم

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

["استعلام البحث"]

max_client_batch_size

لا

نظرًا لأن خدمات النماذج قد لا تعالج جميع البيانات في وقت واحد، فإن هذا يضبط حجم الدُفعات للوصول إلى خدمة النماذج في طلبات متعددة.

128 (افتراضي)

max_tokens_per_doc

لا

الحد الأقصى لعدد الرموز لكل مستند. سيتم اقتطاع المستندات الطويلة تلقائياً إلى العدد المحدد من الرموز.

4096 (افتراضي)

credential

لا يوجد

بيانات اعتماد المصادقة للوصول إلى خدمات Cohere API. إذا لم يتم تحديده، سيبحث النظام عن متغير البيئة COHERE_API_KEY.

"مفتاح Cohere-API-API الخاص بك"

للحصول على المعلمات العامة المشتركة عبر جميع مصنفات النماذج (على سبيل المثال، provider ، queries)، راجع إنشاء مصنف نموذج.

لتطبيق Cohere Ranker على بحث متجه قياسي:

# Execute search with Cohere reranking
results = client.search(
    collection_name="your_collection",
    data=[your_query_vector],  # Replace with your query vector
    anns_field="dense_vector",                   # Vector field to search
    limit=5,                                     # Number of results to return
    output_fields=["document"],                  # Include text field for reranking
    ranker=cohere_ranker,                       # Apply Cohere reranking
    consistency_level="Bounded"
)
import io.milvus.v2.common.ConsistencyLevel;
import io.milvus.v2.service.vector.request.SearchReq;
import io.milvus.v2.service.vector.response.SearchResp;
import io.milvus.v2.service.vector.request.data.EmbeddedText;

SearchReq searchReq = SearchReq.builder()
        .collectionName(COLLECTION_NAME)
        .data(Arrays.asList(new EmbeddedText("AI Research Progress"), new EmbeddedText("What is AI")))
        .annsField("vector_field")
        .limit(10)
        .outputFields(Collections.singletonList("document"))
        .functionScore(FunctionScore.builder()
                .addFunction(ranker)
                .build())
        .consistencyLevel(ConsistencyLevel.BOUNDED)
        .build();
SearchResp searchResp = client.search(searchReq);
// nodejs
// go
# restful

جرب Managed Milvus مجاناً

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

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

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