مصنف 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
المعلمات التالية خاصة بمصنّف كوهير:
المعلمة |
مطلوبة؟ |
الوصف |
القيمة / مثال |
|---|---|---|---|
|
نعم |
يجب ضبطها على |
|
|
نعم |
مزود خدمة النموذج المراد استخدامه لإعادة الترتيب. |
|
|
نعم |
نموذج إعادة تصنيف Cohere المراد استخدامه من النماذج المدعومة على منصة Cohere. للاطلاع على قائمة نماذج إعادة الترتيب المتاحة، راجع وثائق Cohere. |
|
|
نعم |
قائمة سلاسل الاستعلامات التي يستخدمها نموذج إعادة الترتيب لحساب درجات الملاءمة. يجب أن يتطابق عدد سلاسل الاستعلامات مع عدد الاستعلامات في عملية البحث بالضبط (حتى عند استخدام ناقلات الاستعلام بدلاً من النص)، وإلا سيتم الإبلاغ عن خطأ. |
["استعلام البحث"] |
|
لا |
نظرًا لأن خدمات النماذج قد لا تعالج جميع البيانات في وقت واحد، فإن هذا يضبط حجم الدُفعات للوصول إلى خدمة النماذج في طلبات متعددة. |
|
|
لا |
الحد الأقصى لعدد الرموز لكل مستند. سيتم اقتطاع المستندات الطويلة تلقائياً إلى العدد المحدد من الرموز. |
|
|
لا يوجد |
بيانات اعتماد المصادقة للوصول إلى خدمات Cohere API. إذا لم يتم تحديده، سيبحث النظام عن متغير البيئة |
"مفتاح 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