Cette page explique le reranking et les types de rankers. Elle montre également comment utiliser l'API de classement Gemini Enterprise Agent Platform pour reclasser les réponses récupérées.
Rerankers disponibles
| Options de ranker | Description | Latence | Justesse | Tarifs |
|---|---|---|---|---|
| API de classement Agent Platform |
L'API de classement Agent Platform est un reranker sémantique autonome conçu pour un score de pertinence très précis et une faible latence. Pour en savoir plus sur l'API de classement Agent Platform, consultez Améliorer la qualité de la recherche et du RAG avec l'API de classement. |
Très faible (moins de 100 millisecondes) | Performances de pointe | Par requête du moteur RAG |
| Reranker LLM | Le reranker LLM utilise un appel distinct à Gemini pour évaluer la pertinence des blocs par rapport à une requête. | Élevée (1 à 2 secondes) | Dépend du modèle | Tarifs des jetons LLM |
Utiliser l'API de classement Agent Platform
Pour utiliser l'API de classement Agent Platform, vous devez activer l'API Discovery Engine. Tous les modèles compatibles sont disponibles dans l' Améliorer la qualité de la recherche et du RAG avec l'API de classement.
Ces exemples de code montrent comment activer le reranking avec l'API de classement Agent Platform dans la configuration de l'outil.
Python
Pour savoir comment installer ou mettre à jour le SDK Agent Platform pour Python, consultez Installer le SDK Agent Platform pour Python. Pour en savoir plus, consultez la documentation de référence de l'API Python.
Remplacez les variables suivantes utilisées dans l'exemple de code :
- PROJECT_ID : ID de votre projet Cloud de Confiance by S3NS .
- LOCATION : région dans laquelle traiter la requête.
- MODEL_NAME : LLM pour la génération de contenu. Exemple :
gemini-3.8-flash. - INPUT_PROMPT : texte envoyé au LLM pour la génération de contenu.
- RAG_CORPUS_RESOURCE : nom de la ressource du corpus RAG.
Format :projects/{project}/locations/{location}/ragCorpora/{rag_corpus}. - SIMILARITY_TOP_K : (facultatif) : nombre de contextes principaux à récupérer.
- RANKER_MODEL_NAME: nom du modèle utilisé pour le
reranking. Exemple :
semantic-ranker-default@latest.
from vertexai import rag
from vertexai.generative_models import GenerativeModel, Tool
import vertexai
PROJECT_ID = "PROJECT_ID"
CORPUS_NAME = "projects/{PROJECT_ID}/locations/LOCATION/ragCorpora/RAG_CORPUS_RESOURCE"
# Initialize Agent Platform API once per session
vertexai.init(project=PROJECT_ID, location="LOCATION")
config = rag.RagRetrievalConfig(
top_k=10,
ranking=rag.Ranking(
rank_service=rag.RankService(
model_name=RANKER_MODEL_NAME
)
)
)
rag_retrieval_tool = Tool.from_retrieval(
retrieval=rag.Retrieval(
source=rag.VertexRagStore(
rag_resources=[
rag.RagResource(
rag_corpus=CORPUS_NAME,
)
],
rag_retrieval_config=config
),
)
)
rag_model = GenerativeModel(
model_name="MODEL_NAME", tools=[rag_retrieval_tool]
)
response = rag_model.generate_content("INPUT_PROMPT")
print(response.text)
# Example response:
# The sky appears blue due to a phenomenon called Rayleigh scattering.
# Sunlight, which contains all colors of the rainbow, is scattered
# by the tiny particles in the Earth's atmosphere....
# ...
REST
Pour générer du contenu à l'aide de modèles Gemini, appelez l'API GenerateContent d'Agent Platform. En spécifiant RAG_CORPUS_RESOURCE lorsque vous effectuez la requête, le modèle récupère automatiquement les données du moteur RAG.
Remplacez les variables suivantes utilisées dans l'exemple de code :
- PROJECT_ID : ID de votre projet Cloud de Confiance by S3NS .
- LOCATION : région dans laquelle traiter la requête.
- MODEL_NAME : LLM pour la génération de contenu. Exemple :
gemini-3.8-flash. - GENERATION_METHOD: méthode LLM pour la génération de contenu.
Les options incluent
generateContentetstreamGenerateContent. - INPUT_PROMPT : texte envoyé au LLM pour la génération de contenu.
- RAG_CORPUS_RESOURCE : nom de la ressource du corpus RAG.
Format :projects/{project}/locations/{location}/ragCorpora/{rag_corpus}. - SIMILARITY_TOP_K : (facultatif) : nombre de contextes principaux à récupérer.
- RANKER_MODEL_NAME: nom du modèle utilisé pour le
reranking. Exemple :
semantic-ranker-default@latest.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_NAME:GENERATION_METHOD" \
-d '{
"contents": {
"role": "user",
"parts": {
"text": "INPUT_PROMPT"
}
},
"tools": {
"retrieval": {
"disable_attribution": false,
"vertex_rag_store": {
"rag_resources": {
"rag_corpus": "RAG_CORPUS_RESOURCE"
},
"rag_retrieval_config": {
"top_k": SIMILARITY_TOP_K,
"ranking": {
"rank_service": {
"model_name": "RANKER_MODEL_NAME"
}
}
}
}
}
}
}'
Utiliser le reranker LLM dans le moteur RAG
Cette section présente les prérequis et des exemples de code pour utiliser un reranker LLM.
Le reranker LLM n'est compatible qu'avec les modèles Gemini, qui sont accessibles lorsque le moteur RAG de l'API Gemini Enterprise Agent Platform est activé. Pour afficher la liste des modèles compatibles, consultez Modèles Gemini.
Pour récupérer des contextes pertinents à l'aide de l'API du moteur RAG, procédez comme suit :
Python
Pour savoir comment installer ou mettre à jour le SDK Agent Platform pour Python, consultez Installer le SDK Agent Platform pour Python. Pour en savoir plus, consultez la documentation de référence de l'API Python.
Remplacez les variables suivantes utilisées dans l'exemple de code :
- PROJECT_ID : ID de votre projet Cloud de Confiance by S3NS .
- LOCATION : région dans laquelle traiter la requête.
- RAG_CORPUS_RESOURCE : nom de la ressource du corpus RAG. Format:
projects/{project}/locations/{location}/ragCorpora/{rag_corpus}. - TEXT : texte de la requête permettant d'obtenir les contextes pertinents.
- MODEL_NAME : nom du modèle utilisé pour le reranking.
from vertexai import rag
import vertexai
PROJECT_ID = "PROJECT_ID"
CORPUS_NAME = "projects/[PROJECT_ID]/locations/LOCATION/ragCorpora/RAG_CORPUS_RESOURCE"
MODEL_NAME= "MODEL_NAME"
# Initialize Agent Platform API once per session
vertexai.init(project=PROJECT_ID, location="LOCATION")
rag_retrieval_config = rag.RagRetrievalConfig(
top_k=10,
ranking=rag.Ranking(
llm_ranker=rag.LlmRanker(
model_name=MODEL_NAME
)
)
)
response = rag.retrieval_query(
rag_resources=[
rag.RagResource(
rag_corpus=CORPUS_NAME,
)
],
text="TEXT",
rag_retrieval_config=rag_retrieval_config,
)
print(response)
# Example response:
# contexts {
# contexts {
# source_uri: "gs://your-bucket-name/file.txt"
# text: "....
# ....
REST
Remplacez les variables suivantes utilisées dans l'exemple de code :
- PROJECT_ID : ID de votre projet Cloud de Confiance by S3NS .
- LOCATION : région dans laquelle traiter la requête.
- RAG_CORPUS_RESOURCE : nom de la ressource du corpus RAG. Format:
projects/{project}/locations/{location}/ragCorpora/{rag_corpus}. - TEXT : texte de la requête permettant d'obtenir les contextes pertinents.
- MODEL_NAME : nom du modèle utilisé pour le reranking.
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION:retrieveContexts" \
-d '{
"vertex_rag_store": {
"rag_resources": {
"rag_corpus": "RAG_CORPUS_RESOURCE"
}
},
"query": {
"text": "TEXT",
"rag_retrieval_config": {
"top_k": 10,
"ranking": {
"llm_ranker": {
"model_name": "MODEL_NAME"
}
}
}
}
}'
Étape suivante
Pour en savoir plus sur le moteur RAG de l'API Gemini Enterprise Agent Platform, consultez les ressources suivantes :