Elastic
Jina AI
Modèles
API
keyboard_arrow_down
Lecteur
Lisez les URL et effectuez des recherches sur le Web pour de meilleurs LLM de base.
Intégrations
Intégrations multimodales et multilingues.
Reclasseur
Outil de reclassement pour optimiser la pertinence des résultats de recherche.
MCP
terminal
CLI
article
llms.txt
smart_toy
Agents
data_object
Schéma
menu_book
Documents
Se connecter
login
Qu'est-ce qu'un reclasseur ?
Pourquoi utiliser jina-reranker-v1-base-en ?
Avant de commencer : Une note sur les Node-Postprocessors de LlamaIndex
Suivez sur Google Colab
Conclusion
Blog technique
mars 07, 2024

RAG précis avec Jina Reranker et LlamaIndex

Réordonnez simplement ! Jina Reranker et LlamaIndex portent votre RAG au niveau supérieur.
Collaborative graphic with "RERANKER" and "Llamalindex" logos over a purple background with crossed white abstract lines.
Francesco Kruk, Saahil Ognawala • 7 minutes lues

Alors que les modèles bi-encodeurs comme Jina Embeddings peuvent rapidement retrouver de nombreux documents correspondants dans une base de données d'embeddings pré-calculés, les modèles de reclassement peuvent affiner cet ensemble en utilisant une approche plus lente mais plus précise de cross-encoding des requêtes utilisateurs et des documents récupérés. Jina AI a publié notre premier modèle de reclassement, jina-reranker-v1-base-en, et dans cet article, nous présenterons en détail pourquoi un reclasseur est essentiel pour optimiser la précision du RAG et comment commencer à construire un système RAG à la pointe de la technologie en utilisant Jina Embeddings/Reranker, LlamaIndex, et le modèle de langage Mixtral-8x7B-Instruct-v0.1 (hébergé sur HuggingFace).

Vous aurez besoin de :

  • Une clé combinée pour l'API Jina Embeddings et Reranker.
  • Un compte HuggingFace et un token.
Reranker API
Maximize the search relevancy and RAG accuracy at ease

Comme les modèles Jina Embeddings et Reranker ainsi que Mixtral fonctionnent à distance et sont accessibles via une API RESTful, vous n'aurez besoin d'aucun matériel spécial.

tagQu'est-ce qu'un reclasseur ?

Avant de poursuivre le tutoriel, il est important de souligner ce que sont les reclasseurs. Pour une compréhension complète de ce qu'est un reclasseur et pourquoi Jina Reranker V1 est le meilleur choix pour vous, nous vous encourageons à lire notre article sur la sortie de Jina Reranker V1 avant de continuer.

Maximizing Search Relevance and RAG Accuracy with Jina Reranker
Boost your search and RAG accuracy with Jina Reranker. Our new model improves the accuracy and relevance by 20% over simple vector search. Try it now for free!

En résumé, les reclasseurs sont des modèles cross-encoder qui prennent en entrée une paire document-requête et émettent un score de pertinence combiné pour cette paire d'entrée. En utilisant les reclasseurs, les utilisateurs peuvent trier les documents du plus au moins pertinent pour une requête donnée.

tagPourquoi utiliser jina-reranker-v1-base-en ?

Le reclassement fournit des informations beaucoup plus pertinentes que l'utilisation d'un modèle d'embedding seul. Dans notre article de sortie du modèle, nous avons démontré que Jina Reranker se démarque par rapport à ses concurrents open et closed-source et qu'il peut améliorer les systèmes de recherche de 8 % en taux de réussite et de 33 % en rang réciproque moyen.

Cela a un impact direct sur la qualité des réponses obtenues via la solution RAG appliquée. Avec la théorie qui soutient cette affirmation, nous vous montrerons un exemple pratique pour que vous puissiez voir par vous-même l'effet que Jina Reranker a sur un pipeline RAG construit avec LlamaIndex.

tagAvant de commencer : Une note sur les Node-Postprocessors de LlamaIndex

Les node-postprocessors dans LlamaIndex sont des modules qui transforment ou filtrent les nœuds après la récupération et avant la synthèse de la réponse dans un moteur de requête. Dans ce package, LlamaIndex propose à la fois des options intégrées et une API pour des ajouts personnalisés.

Jina Reranker a maintenant été intégré à LlamaIndex comme node postprocessor. Pour augmenter la précision des réponses, les nœuds récupérés sont réordonnés en fonction de leur pertinence par rapport à la requête, et les N meilleurs nœuds sont renvoyés.

tagSuivez sur Google Colab

Ce tutoriel est accompagné d'un notebook que vous pouvez exécuter sur Google Colab ou localement.

llama_index/docs/docs/examples/node_postprocessor/JinaRerank.ipynb at main · run-llama/llama_index
LlamaIndex is a data framework for your LLM applications - run-llama/llama_index
GitHubrun-llama

tagLe jeu de données : Catalogue de produits Nike Kids 2024

Pour démontrer l'amélioration des performances de Jina Reranker pour les applications RAG, nous avons choisi le Catalogue de produits Nike Kids 2024 comme jeu de données. Le document contient un ensemble structuré de produits pour enfants proposés par Nike en 2024. Nous avons sélectionné ce jeu de données car il montre clairement l'effet de l'utilisation d'un reclasseur et est facilement compréhensible pour la plupart des utilisateurs.

tagInstallez les prérequis

Pour installer les prérequis, exécutez :

pip install llama-index-postprocessor-jinaai-rerank
pip install llama-index-embeddings-jinaai
pip install llama-index
pip install llama-index-llms-huggingface
pip install "huggingface_hub[inference]"

tagAccès au LLM Mixtral

Pour utiliser le LLM Mixtral-8x7B-Instruct-v0.1, vous avez besoin d'un token HuggingFace.

from llama_index.llms.huggingface import HuggingFaceInferenceAPI

hf_inference_api_key = "<votre token d'accès HuggingFace ici>"

mixtral_llm = HuggingFaceInferenceAPI(
    model_name="mistralai/Mixtral-8x7B-Instruct-v0.1",
    token=hf_inference_api_key,
)

tagAccès à Jina Embeddings et Jina Reranker

Pour utiliser nos modèles Jina Embeddings et Jina Reranker, vous avez besoin d'une clé API dédiée. Stockez-la dans une variable appelée api_key et appelez le modèle Jina Embeddings depuis LlamaIndex :

from llama_index.embeddings.jinaai import JinaEmbedding

api_key = "<votre clé Jina ici>"
jina_embeddings = JinaEmbedding(api_key=api_key)

De même, vous pouvez appeler le modèle Jina Reranker. En définissant le paramètre top_n, vous pouvez décider combien de documents les plus pertinents retourner dans la sortie finale. Dans ce cas, nous définissonstop_n=2:

from llama_index.postprocessor.jinaai_rerank import JinaRerank

jina_rerank = JinaRerank(api_key=api_key, top_n=2)

tagTélécharger le catalogue des produits Nike Kids 2024

Pour télécharger les données, exécutez le code suivant :

from llama_index.core import SimpleDirectoryReader
import requests

url = '<https://niketeam-asset-download.nike.net/catalogs/2024/2024_Nike%20Kids_02_09_24.pdf?cb=09302022>'
response = requests.get(url)

with open('Nike_Catalog.pdf', 'wb') as f:
    f.write(response.content)

reader = SimpleDirectoryReader(
    input_files=["Nike_Catalog.pdf"]
)

documents = reader.load_data()

tagGénérer et indexer les embeddings avec Jina Embeddings

Maintenant que la configuration est terminée, nous allons générer les vecteurs d'embedding (nœuds) et les indexer. Les modèles Jina Embeddings v2 acceptent des entrées jusqu'à 8192 tokens, ce qui est suffisamment grand pour que, pour un document comme celui-ci, nous n'ayons pas besoin de faire de segmentation de texte supplémentaire ni de vérifier si une section contient trop de tokens. Pour intégrer et indexer le document, exécutez le code suivant :

from llama_index.core import VectorStoreIndex

index = VectorStoreIndex.from_documents(
    documents=documents, embed_model=jina_embeddings
)

tagRequêter les résultats sans Jina Reranker

Lorsque nous recherchons des informations spécifiques dans cet ensemble de textes, le query_engine de LlamaIndex effectue les opérations suivantes :

  1. Avec Jina Embeddings V2, il crée un embedding pour la requête.
  2. Il utilise l'index pour obtenir les top_k = 10 embeddings stockés ayant le plus haut cosinus avec l'embedding de la requête et renvoie sa position dans l'index.
  3. Il recherche le texte correspondant dans le tableau de données vectorielles.

Demandons quel est le meilleur maillot Nike en termes de tissu :

query_engine = index.as_query_engine(
    similarity_top_k=10, llm=mixtral_llm
)
response = query_engine.query(
    "What are the best padded pants that Nike sells?",
)

print(response.source_nodes[0].text)

Résultat:

NIKE KIDS  EQUIPMENT87NIKE BRASILIA SMALL DUFFEL 9.5 
DM3976 $37.00
SIZES: Misc  OFFER DATE: 07/01/22  END DATE: 07/01/25
Tough 600D polyester • Durable 300D polyester • Detachable shoulder
strap • Ventilated shoe or wet/dry storage • Secure zip pocket • 
Limited lifetime guarantee • Screened Swoosh design trademark
DIMENSIONS:  20" L x 10" W x 11" H 
010 Black/Black/(White) 068 Iron Grey/Black/(White)
...
Three Nike Brasilia Small Duffel Bags, $37 each, in black, grey, navy with features listed and offer dates from 07/01/22 to 0

tagRequêter les résultats avec Reranker

Nous voulons maintenant appliquer le reranker pour voir si l'application RAG produit un résultat différent et plus pertinent. Pour ce faire, nous devons ajouter le node_postprocessors au query_engine :

query_engine = index.as_query_engine(
    similarity_top_k=10, llm=mixtral_llm, node_postprocessors=[jina_rerank]
)
response = query_engine.query(
    "What are the best padded pants that Nike sells?",
)

print(response.source_nodes[0].text)

Notez que par rapport au cas précédent sans le reranker, le query_engine contient maintenant aussi le paramètre node_postprocessors défini sur [jina_rerank].

Résultat:

NIKE KIDS  FOOTBALL – STOCK10
DJ5731 $47.00
SIZES:  XS, S, M, L, XL, 2XL, 3XL
FABRIC:  Body/panels lining: 100% polyester. Pad: 100%
ethylene vinyl acetate.
OFFER DATE:  04/01/23
END DATE:  04/01/27
Take the field ready to give it your all in the Nike Recruit
Pants. They're made from lightweight, stretchy fabric with
sweat-wicking power to help keep you dry and moving freely
when the game heats up. With integrated pads shaped for a
comfortable fit, you'll be prepared for a performance you can
be proud of. Choose from 6 different colors to outfit your
team. Nike Dri-FIT technology moves sweat away from your skin
for quicker evaporation, helping you stay dry and comfortable.
Lightweight knit fabric stretches with you to let you move
naturally. Thigh, knee, hip and tailbone pads are shaped for
an optimal fit, without compromising on coverage. A
body-hugging fit is designed to help keep the padding in place
and close to the body. Belt at the waist lets you dial in your
perfect fit to maximize comfort. Elastic at hems.
Hip width: 15", Inseam length: 11.75" (size medium).
010 Black/(White) 060 Team Anthracite/(White) 100 White/(Black)
419 Team Navy/(White) 493 Team Royal/(White) 657 Team Scarlet/(White)

Product display of boys' Nike DF Stock Recruit Pants with sizes, pricing, and various color options highlighted.

tagConclusion

Comme nous pouvons le constater, la requête sans le reranker conduit à un premier résultat qui mentionne "mesh back for breathability" et "slim fit with soft hand feel". En comparaison, en utilisant un reranker, nous obtenons un premier résultat qui est "engineered for optimal breathability", possède un "moisture-wicking design" qui "helps keep you dry and cool under match-day pressure", et présente "lightweight fabric in a relaxed, easy fit".

Le second résultat est beaucoup plus précis et approprié pour la requête que nous avons posée. Avec nos deux derniers articles, nous avons montré tant d'un point de vue théorique que pratique que l'ajout de Jina Reranker à votre pipeline RAG augmente la précision de la récupération et améliore la qualité des réponses que vous en obtenez.

Catégories:
Blog technique
rss_feed

En savoir plus
mars 11, 2026 • 7 minutes lues
Bootstrapping Audio Embeddings from Multimodal LLMs
Han Xiao
Abstract illustration of a sound wave or heartbeat, formed by blue, orange, and gray dots on a white background.
mars 06, 2026 • 6 minutes lues
Identifying Embedding Models from Raw Numerical Values
Han Xiao
Fingerprint illustration made from numbers, showcasing digital and high-tech design on a light background.
septembre 09, 2025 • 11 minutes lues
Multimodal Embeddings in Llama.cpp and GGUF
Andrei Ungureanu
Alex C-G
Cartoon llama in the center of a white background, emitting laser-like beams from its eyes. The illustration creates a playfu
Langue / thème actuel
Search Foundation
Lecteur
Intégrations
Reclasseur
Obtenir la clé API Jina
Limite de taux
À propos de nous
Nouvelles
Télécharger le logo Jina
open_in_new
Télécharger le logo Elastic
open_in_new
Statut de l'API
Elastic © 2026.Sécuritétermes et conditionsConfidentialitéGérer les cookiesNe vendez ni ne partagez mes informations personnelles
Ce site web et l'ensemble de son contenu, logiciels, produits et services sont destinés exclusivement à un usage professionnel. Leur utilisation par les consommateurs n'est ni prévue ni autorisée.