Cette page explique le reclassement et les types de classeurs. Cette page explique également comment utiliser l'API de classement Vertex AI pour réorganiser les réponses récupérées.
Reclasseurs disponibles
Options de classement | Description | Latence | Précision | Tarifs |
---|---|---|---|---|
API de classement Vertex AI | L'API de classement Vertex AI est un outil de reclassement sémantique autonome conçu pour évaluer la pertinence avec une grande précision et à faible latence. Pour en savoir plus sur l'API de classement Vertex AI, consultez Améliorer la qualité de la recherche et du RAG avec l'API de classement. |
Très faible (moins de 100 millisecondes) | Bénéficiez de performances optimales | Par requête du moteur Vertex AI RAG |
Reclassement LLM | Le reclassement LLM utilise un appel distinct à Gemini pour évaluer la pertinence des segments par rapport à une requête. | Élevé (1 à 2 secondes) | Dépend du modèle | Tarifs des jetons LLM |
Utiliser l'API de classement Vertex AI
Pour utiliser l'API de classement Vertex AI, vous devez activer l'API Discovery Engine. Tous les modèles compatibles sont disponibles dans Améliorer la qualité de la recherche et de la génération augmentée de récupération avec l'API de classement.
Ces exemples de code montrent comment activer le reclassement avec l'API de classement Vertex AI dans la configuration de l'outil.
Python
Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez la section Installer le SDK Vertex AI 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 Google Cloud projet.
- LOCATION: région dans laquelle traiter la requête.
- MODEL_NAME: modèle LLM pour la génération de contenu. Par exemple,
gemini-2.0-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 reclassement. Par 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 Vertex AI 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
Vertex AI. En spécifiant le RAG_CORPUS_RESOURCE
lorsque vous effectuez la requête, le modèle récupère automatiquement les données du moteur RAG Vertex AI.
Remplacez les variables suivantes utilisées dans l'exemple de code:
- PROJECT_ID: ID de votre Google Cloud projet.
- LOCATION: région dans laquelle traiter la requête.
- MODEL_NAME: modèle LLM pour la génération de contenu. Par exemple,
gemini-2.0-flash
. - GENERATION_METHOD: méthode LLM pour la génération de contenu.
Les options incluent
generateContent
etstreamGenerateContent
. - 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 reclassement. Par 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 reclassement LLM dans le moteur RAG de Vertex AI
Cette section présente les conditions préalables et les exemples de code pour utiliser un outil de réajustement LLM.
Le reclasseur LLM n'est compatible qu'avec les modèles Gemini, qui sont accessibles lorsque l'API Vertex AI RAG Engine est activée. Pour afficher la liste des modèles compatibles, consultez la section Modèles Gemini.
Pour récupérer des contextes pertinents à l'aide de l'API Vertex AI RAG Engine, procédez comme suit:
Python
Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez la section Installer le SDK Vertex AI 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 Google Cloud projet.
- 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 requête permettant d'obtenir des contextes pertinents.
- MODEL_NAME: nom du modèle utilisé pour le reclassement.
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 Vertex AI 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 Google Cloud projet.
- 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 requête permettant d'obtenir des contextes pertinents.
- MODEL_NAME: nom du modèle utilisé pour le reclassement.
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 les réponses du RAG, consultez la section Récupération et sortie de génération du moteur RAG Vertex AI.
- Gérer votre base de connaissances (corpus) RAG