La pagina spiega il reranking e i tipi di ranker. La pagina mostra anche come utilizzare l'API di ranking di Gemini Enterprise Agent Platform per eseguire il reranking delle risposte recuperate.
Reranker disponibili
| Opzioni del ranker | Descrizione | Latenza | Accuratezza | Prezzi |
|---|---|---|---|---|
| API di ranking di Agent Platform |
L'API di ranking di Agent Platform è un reranker semantico autonomo progettato per un punteggio di pertinenza di alta precisione e una bassa latenza. Per saperne di più sull'API di ranking di Agent Platform, consulta Migliorare la qualità della ricerca e di RAG con l'API di ranking. |
Molto bassa (meno di 100 millisecondi) | Prestazioni allo stato dell'arte | Per richiesta di RAG Engine |
| Reranker LLM | Il reranker LLM utilizza una chiamata separata a Gemini per valutare la pertinenza dei blocchi rispetto a una query. | Alta (da 1 a 2 secondi) | Dipendente dal modello | Prezzi dei token LLM |
Utilizzare l'API di ranking di Agent Platform
Per utilizzare l'API di ranking di Agent Platform, devi abilitare l'API Discovery Engine. Tutti i modelli supportati sono disponibili in Migliorare la qualità della ricerca e di RAG con l'API di ranking.
Questi esempi di codice mostrano come abilitare il reranking con l'API di ranking di Agent Platform nella configurazione dello strumento.
Python
Per scoprire come installare o aggiornare l'SDK Agent Platform per Python, consulta Installare l'SDK Agent Platform per Python. Per saperne di più, consulta la documentazione di riferimento dell'API Python.
Sostituisci le seguenti variabili utilizzate nel codice campione:
- PROJECT_ID: l'ID del tuo Cloud de Confiance by S3NS progetto.
- LOCATION: la regione in cui elaborare la richiesta.
- MODEL_NAME: modello LLM per la generazione di contenuti. Ad esempio,
gemini-3.8-flash. - INPUT_PROMPT: il testo inviato all'LLM per la generazione di contenuti.
- RAG_CORPUS_RESOURCE: il nome della risorsa del corpus RAG.
Formato:projects/{project}/locations/{location}/ragCorpora/{rag_corpus}. - SIMILARITY_TOP_K: facoltativo: il numero di contesti principali da recuperare.
- RANKER_MODEL_NAME: il nome del modello utilizzato per
il reranking. Ad esempio,
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
Per generare contenuti utilizzando i modelli Gemini, effettua una chiamata all'API GenerateContent di Agent Platform. Se specifichi RAG_CORPUS_RESOURCE quando effettui la richiesta, il modello recupera automaticamente i dati da RAG Engine.
Sostituisci le seguenti variabili utilizzate nel codice campione:
- PROJECT_ID: l'ID del tuo Cloud de Confiance by S3NS progetto.
- LOCATION: la regione in cui elaborare la richiesta.
- MODEL_NAME: modello LLM per la generazione di contenuti. Ad esempio,
gemini-3.8-flash. - GENERATION_METHOD: metodo LLM per la generazione di contenuti.
Le opzioni includono
generateContentestreamGenerateContent. - INPUT_PROMPT: il testo inviato all'LLM per la generazione di contenuti.
- RAG_CORPUS_RESOURCE: il nome della risorsa del corpus RAG.
Formato:projects/{project}/locations/{location}/ragCorpora/{rag_corpus}. - SIMILARITY_TOP_K: facoltativo: il numero di contesti principali da recuperare.
- RANKER_MODEL_NAME: il nome del modello utilizzato per
il reranking. Ad esempio,
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"
}
}
}
}
}
}
}'
Utilizzare il reranker LLM in RAG Engine
Questa sezione presenta i prerequisiti e gli esempi di codice per l'utilizzo di un reranker LLM.
Il reranker LLM supporta solo i modelli Gemini, accessibili quando l'API RAG Engine su Gemini Enterprise Agent Platform è abilitata. Per visualizzare l'elenco dei modelli supportati, consulta Modelli Gemini.
Per recuperare i contesti pertinenti utilizzando l'API RAG Engine:
Python
Per scoprire come installare o aggiornare l'SDK Agent Platform per Python, consulta Installare l'SDK Agent Platform per Python. Per saperne di più, consulta la documentazione di riferimento dell'API Python.
Sostituisci le seguenti variabili utilizzate nell'esempio di codice:
- PROJECT_ID: l'ID del tuo Cloud de Confiance by S3NS progetto.
- LOCATION: la regione in cui elaborare la richiesta.
- RAG_CORPUS_RESOURCE: il nome della risorsa del corpus RAG. Formato:
projects/{project}/locations/{location}/ragCorpora/{rag_corpus}. - TEXT: il testo della query per ottenere i contesti pertinenti.
- MODEL_NAME: il nome del modello utilizzato per il 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
Sostituisci le seguenti variabili utilizzate nell'esempio di codice:
- PROJECT_ID: l'ID del tuo Cloud de Confiance by S3NS progetto.
- LOCATION: la regione in cui elaborare la richiesta.
- RAG_CORPUS_RESOURCE: il nome della risorsa del corpus RAG. Formato:
projects/{project}/locations/{location}/ragCorpora/{rag_corpus}. - TEXT: il testo della query per ottenere i contesti pertinenti.
- MODEL_NAME: il nome del modello utilizzato per il 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"
}
}
}
}
}'
Passaggi successivi
Per saperne di più sull'API RAG Engine su Gemini Enterprise Agent Platform, consulta: