Les plongements de texte (text embeddings), connus pour leurs capacités de représentation sémantique, associés à la recherche rapide de vecteurs, constituent aujourd'hui la pierre angulaire de la recherche documentaire dans de vastes ensembles de données. Cependant, le défi réside souvent dans le filtrage des documents récupérés pour qu'ils correspondent précisément à l'intention de recherche de l'utilisateur, une tâche qui dépasse les capacités des simples mesures de similarité cosinus.
Aujourd'hui, nous sommes ravis d'annoncer Jina Reranker (jina-reranker-v1-base-en), un modèle neuronal de reclassement à la pointe de la technologie conçu pour résoudre ce problème critique de pertinence. Jina Reranker améliore votre système de recherche et RAG (Retrieval-Augmented Generation) en réorganisant les documents récupérés d'une manière qui comprend profondément et contextuellement les termes de la requête. Nos évaluations ont démontré des améliorations remarquables pour les systèmes de recherche utilisant Jina Reranker avec +8% de taux de succès et +33% de rang réciproque moyen !

tagQu'est-ce qu'un Reranker ?
Comprendre le concept d'un reranker nous amène souvent à nous interroger sur la nécessité des mécanismes de re-classement dans les systèmes de recherche (classement). Les questions courantes sont : « Pourquoi avons-nous besoin d'un reranker ? » et « Le classement des documents par similarité cosinus entre les plongements de la requête et du document n'est-il pas déjà suffisant ? » Pour répondre à ces questions, examinons d'abord l'approche simple de la similarité cosinus et ses limites.
La similarité cosinus quantifie la similarité entre deux documents en mesurant le cosinus de l'angle entre leurs vecteurs de plongement. Cette métrique est appréciée pour sa simplicité et a été utilisée dans de nombreuses bases de données vectorielles comme méthode de récupération par défaut. Cependant, cette approche, communément appelée approche basée sur la représentation, tend à simplifier à l'excès l'interaction entre la requête et les documents. Plus précisément, elle peine à capturer l'interaction nuancée au niveau sous-document et sous-requête, manquant souvent la pleine profondeur de l'intention de l'utilisateur et les détails fins de la pertinence du document.
C'est là qu'interviennent les rerankers. Utilisant des réseaux de neurones profonds, les rerankers approfondissent les interactions entre la requête et les documents présélectionnés. Ils vont au-delà des simples plongements au niveau du document pour intégrer des interactions au niveau des tokens qui se produisent dans la requête, dans le document et à travers la frontière requête-document. Bien que cette méthode soit plus intensive en calculs que la simple similarité cosinus, elle permet une comparaison nuancée qui intègre le contexte, le sens sémantique et l'intention derrière la requête, améliorant substantiellement la pertinence des résultats de recherche.
Vector Search via Cosine Similarity | Reranker | |
---|---|---|
Interaction Level | Document-level embeddings | Token-level interactions |
Computational Demand | Low | High |
Most computation happens at | Offline, i.e. indexing time | Online, i.e. query time |
Result | Broad but superficial matching | Highly relevant and precise matching |
Strengths | - Fast and efficient - Simple implementation |
- Deep contextual understanding - Advanced semantic analysis |
Limitations | - Limited by lack of depth and context - May miss nuances of user intent |
- Computationally intensive - Requires more sophisticated models |
Best For | Provides a quick, efficient first pass | Adds depth, enhancing accuracy and relevance of final search results |
En résumé, le reranker est un composant essentiel dans le pipeline de recherche. Un système de recherche de haute qualité commence généralement par une étape de récupération vectorielle basée sur les plongements, qui est ensuite affinée par un modèle de reranking. Cette approche en deux étapes exploite les forces des deux modèles, garantissant la fourniture d'informations précises et de haute qualité qui s'alignent parfaitement avec les besoins de l'utilisateur.
tagDémarrer avec Jina Reranker
Pour commencer à utiliser Jina Reranker, rendez-vous sur notre page Reranker pour obtenir votre YOUR_API_KEY
. Vous pouvez adapter l'exemple de requête cURL ci-dessous en modifiant la requête ou en ajoutant plus de documents :
curl -X 'POST' \
'https://api.jina.ai/v1/rerank' \
-H 'accept: application/json' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"model": "jina-reranker-v1-base-en",
"query": "Organic skincare products for sensitive skin",
"documents": [
"Eco-friendly kitchenware for modern homes",
"Biodegradable cleaning supplies for eco-conscious consumers",
"Organic cotton baby clothes for sensitive skin",
"Natural organic skincare range for sensitive skin",
"Tech gadgets for smart homes: 2024 edition",
"Sustainable gardening tools and compost solutions",
"Sensitive skin-friendly facial cleansers and toners",
"Organic food wraps and storage solutions",
"All-natural pet food for dogs with allergies",
"Yoga mats made from recycled materials"
],
"top_n": 3
}'
Dans cet exemple, les documents vont des articles ménagers aux gadgets technologiques, des vêtements et même de la nourriture pour animaux, présentant un large spectre de produits que l'on pourrait trouver sur un site de e-commerce. Cette diversité exige que le reranker identifie et priorise efficacement les articles les plus pertinents pour la requête sur les "produits de soin bio pour peau sensible", malgré la présence d'autres produits bio, écologiques ou adaptés aux peaux sensibles dans différentes catégories. La réponse est un objet JSON comme suit :
{
"model": "jina-reranker-v1-base-en",
"usage": {
"total_tokens": 38,
"prompt_tokens": 38
},
"results": [
{
"index": 3,
"document": {
"text": "Natural organic skincare range for sensitive skin"
},
"relevance_score": 0.8292155861854553
},
{
"index": 2,
"document": {
"text": "Organic cotton baby clothes for sensitive skin"
},
"relevance_score": 0.14426936209201813
},
{
"index": 6,
"document": {
"text": "Sensitive skin-friendly facial cleansers and toners"
},
"relevance_score": 0.13857832551002502
}
]
}
tagPerformances Exceptionnelles de Jina Reranker
Nous avons évalué Jina Reranker sur quatre benchmarks clés pour garantir des performances de premier ordre et la pertinence des recherches. De meilleures performances dans ces benchmarks se traduisent directement par une meilleure précision, pertinence et compréhension contextuelle dans les applications de recherche et de récupération.
Pour comparaison, nous avons inclus trois autres rerankers leaders de BGE (BAAI), BCE (Netease Youdao), et Cohere dans le benchmark. Comme le montrent les résultats ci-dessous, Jina Reranker obtient le score moyen le plus élevé dans toutes les catégories pertinentes pour le reranking, ce qui en fait un leader incontesté parmi ses pairs.
tagBenchmark 1 : LlamaIndex RAG
Une étude comparative réalisée par LlamaIndex (que nous avons reproduite) a évalué une combinaison de différents modèles d'embedding et de reranking dans des tâches RAG. Cela combine deux scores - le Hit-rate (la probabilité qu'un document pertinent soit récupéré par un modèle d'embedding), et le Mean Reciprocal Rank (MRR - le rang auquel le document le plus pertinent est classé par le modèle de reranking).
No Reranker | jina-reranker | bge-reranker-base | bce-reranker-base_v1 | cohere-reranker | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Embedding model | Hit Rate | MRR | Hit Rate | MRR | Hit Rate | MRR | Hit Rate | MRR | Hit Rate | MRR |
jina-embeddings-v2-base-en | 0.8053 | 0.5156 | 0.8737 | 0.7229 | 0.8368 | 0.6568 | 0.8737 | 0.7007 | 0.8842 | 0.7008 |
bge-base-en-v1.5 | 0.7842 | 0.5183 | 0.8368 | 0.6895 | 0.8158 | 0.6586 | 0.8316 | 0.6843 | 0.8368 | 0.6739 |
bce-embedding-base_v1 | 0.8526 | 0.5988 | 0.8895 | 0.7346 | 0.8684 | 0.6927 | 0.9157 | 0.7379 | 0.9158 | 0.7296 |
CohereV3-en | 0.7211 | 0.4900 | 0.8211 | 0.6894 | 0.8000 | 0.6285 | 0.8263 | 0.6855 | 0.8316 | 0.6710 |
Average | 0.7908 | 0.5307 | 0.8553 | 0.7091 | 0.8303 | 0.6592 | 0.8618 | 0.7021 | 0.8671 | 0.6938 |
Amélioration Substantielle par Rapport à la Similarité Cosinus Simple
L'amélioration apportée par Jina Reranker aux taux de Hit Rate et Mean Reciprocal Rank (MRR) est significative. En moyenne, l'introduction de Jina Reranker fait passer le Hit Rate de 0,7908 à 0,8553 (+7,9 %), et le MRR de 0,5307 à 0,7091 (+33,7 %). Cela démontre la capacité du reranker à améliorer considérablement la précision et la pertinence des résultats de recherche, garantissant que les utilisateurs sont plus susceptibles de trouver ce qu'ils cherchent avec une meilleure exactitude.
Agnosticisme des Embeddings
La performance de Jina Reranker avec différents modèles d'embedding illustre davantage sa nature agnostique. Qu'il soit associé à jina-embeddings-v2-base-en, bge-base-en-v1.5
, bce-embedding-base_v1
, ou CohereV3-en
, Jina Reranker améliore systématiquement le Hit Rate et le MRR. Cette versatilité en fait un outil précieux pour une large gamme d'applications, confirmant son adaptabilité à différentes technologies sous-jacentes et cas d'utilisation.
tagBenchmark 2 : BEIR
BIER (Benchmarking IR) évalue l'efficacité de récupération d'un modèle, notamment la pertinence et le NDCG. Un score BIER plus élevé correspond à des correspondances plus précises et un meilleur classement des résultats de recherche.
Dataset | jina-reranker | bge-reranker-base | bce-reranker-base-v1 | cohere-rerank-english-v2.0 |
---|---|---|---|---|
NQ | 0.5951 | 0.5457 | 0.5186 | 0.6004 |
HotpotQA | 0.7447 | 0.7766 | 0.7392 | 0.7202 |
FiQA-2018 | 0.3981 | 0.3228 | 0.3262 | 0.4387 |
CQADupstack | 0.4077 | 0.3516 | 0.3594 | 0.3829 |
Quora | 0.8792 | 0.7001 | 0.8390 | 0.6433 |
FEVER | 0.8707 | 0.8961 | 0.7203 | 0.8265 |
Climate-FEVER | 0.2570 | 0.3399 | 0.2171 | 0.2038 |
TREC-COVID | 0.8523 | 0.7121 | 0.7364 | 0.8419 |
NFCorpus | 0.3809 | 0.3308 | 0.3534 | 0.3673 |
ArguAna | 0.5938 | 0.2620 | 0.3856 | 0.3040 |
Touche-2020 | 0.3065 | 0.2965 | 0.2533 | 0.3052 |
DBPedia | 0.4387 | 0.4196 | 0.4069 | 0.4236 |
SciFact | 0.7549 | 0.7104 | 0.7021 | 0.7379 |
SCIDOCS | 0.1983 | 0.1540 | 0.1802 | 0.1813 |
MSMarco | 0.7042 | 0.7303 | 0.7155 | 0.7350 |
Average | 0.5588 | 0.5032 | 0.4969 | 0.5141 |
tagBenchmark 3 : MTEB
Le MTEB (Multilingual Text Embedding Benchmark) teste, dans l'ensemble, les capacités d'un modèle en matière d'embeddings de texte, y compris le clustering, la classification, la recherche et d'autres métriques. Cependant, pour notre comparaison, nous avons uniquement utilisé les tâches de Reranking du MTEB. [Table HTML preserved as-is]tagBenchmark 4 : LoCo
Grâce au benchmark LoCo, nous avons mesuré la compréhension d'un modèle de la cohérence locale et du contexte, ainsi que du classement spécifique aux requêtes. Un score LoCo plus élevé reflète une meilleure capacité à identifier et à prioriser les informations pertinentes.
[Second table HTML preserved as-is]tagPoints forts du modèle Jina Reranker
Le Jina Reranker se distingue comme un leader dans le domaine du reclassement, surpassant les principaux concurrents de Cohere, BGE et BCE, comme l'illustre l'analyse précédente. Sa nature agnostique aux embeddings et son efficacité inégalée soulignent son statut de premier plan dans l'industrie. De plus, Jina Reranker possède des caractéristiques notables qui le distinguent :
tagLongueur de contexte étendue
Jina Reranker se démarque des autres solutions de reclassement en prenant en charge des longueurs de contexte étendues. Il peut gérer des requêtes jusqu'à 512 tokens et des documents jusqu'à 8192 tokens. De plus, le modèle est conçu pour traiter jusqu'à 2048 documents candidats pour chaque requête.
[Third table HTML preserved as-is]tagAmélioration de la précision avec l'intégration RAG
La Génération Augmentée par Récupération (RAG) améliore considérablement la précision des réponses des grands modèles de langage (LLM) en incorporant des informations supplémentaires spécifiques au contexte — comme la base de données interne d'une entreprise — dans le processus de requête. Cette méthode garantit que les réponses du LLM sont solidement basées sur les données contextuelles fournies. L'intégration des reclasseurs avec RAG dans un pipeline de recherche d'information ouvre la voie au développement d'applications haute performance capables de fournir une recherche d'information précise dans un large éventail de domaines.
Prenons, par exemple, le scénario où vous planifiez de cuisiner un repas spécial en utilisant des ingrédients spécifiques appréciés par vos invités. Pour simplifier cette tâche, vous décidez d'utiliser un chatbot qui suggère des recettes basées sur des livres de cuisine renommés. Initialement, sans reclasseur, votre entrée pourrait ressembler à ceci :
Context information is below.
---------------------
{Madhur_Jaffrey_An_Invitation_To_Indian_Cooking}
{Julia_Child_Mastering_The_Art_Of_French_Cooking}
{Jiro_Ono_Sushi_Estetica_E_Tecnica}
---------------------
Given the context information and no prior knowledge, answer the query.
Query: Create a recipe using the ingredients below.
---------------------
Salmon
Asparagus
Potatoes
---------------------
L'incorporation d'un modèle de reclassement permet cependant une compréhension nuancée de la pertinence des documents, améliorant le contexte du LLM avec des informations sur l'importance relative de chaque livre de cuisine. L'entrée affinée, mettant en évidence le classement de pertinence du contexte par rapport à la requête, pourrait alors apparaître comme suit :
Context information is below.
Note that the context is ranked from most to least relevant to the query.
---------------------
{Julia_Child_Mastering_The_Art_Of_French_Cooking}
{Jiro_Ono_Sushi_Estetica_E_Tecnica}
{Madhur_Jaffrey_An_Invitation_To_Indian_Cooking}
---------------------
Given the context information and no prior knowledge, answer the query.
Query: Create a recipe using the ingredients below.
---------------------
Salmon
Asparagus
Potatoes
---------------------
Cette couche supplémentaire de compréhension de la pertinence des livres de cuisine par rapport aux ingrédients donnés rend évident que la recette optimale relève probablement de la cuisine française, orientant la suggestion du chatbot dans une direction qui correspond le mieux au contexte culinaire des ingrédients. Sans reclassement, une suggestion basée sur les sushis aurait pu être tout aussi plausible étant donné la présence du saumon, mais cela aurait conduit à une expérience culinaire sensiblement différente.
De plus, en déterminant le nombre de documents à prendre en compte dans le processus de classement, les utilisateurs peuvent affiner la précision et les exigences de calcul de l'opération pour répondre à leurs besoins spécifiques, illustrant davantage la polyvalence et l'efficacité du reclasseur.
tagTarification API abordable
L'API Jina Reranker propose une tarification identique à notre API d'embedding (y compris 1 million d'essais gratuits), comme jina-embeddings-v2-base-en, basée sur le nombre total de tokens dans les requêtes et les documents. Les quotas de tokens peuvent être achetés sur notre page Embeddings/Reranker API. Le secret API et les quotas de tokens peuvent être utilisés pour les deux APIs de reranking et d'embedding.
tagBientôt disponible sur AWS Marketplace
Élargissant notre portée, Jina Reranker ne sera pas seulement accessible via notre API mais sera également bientôt disponible sur l'AWS SageMaker Marketplace pour un déploiement cloud privé transparent. Cette disponibilité à venir vise à offrir une protection accrue des données et une sécurité des applications dans le cadre familier de votre abonnement AWS Cloud.
Nous accordons une grande importance à vos idées et expériences avec Jina Reranker. Parlez-nous sur notre canal Discord pour partager vos commentaires et rester à jour avec nos derniers modèles. Votre contribution est cruciale alors que nous continuons à affiner nos technologies et à contribuer à un écosystème d'IA de recherche plus dynamique et inclusif.