Auf der Seite werden das erneute Ranking und die Arten von Rankern erläutert. Außerdem wird gezeigt, wie Sie mit der Ranking API der Gemini Enterprise Agent Platform Ihre abgerufenen Antworten neu einstufen.
Verfügbare Reranker
| Ranker-Optionen | Beschreibung | Latenz | Genauigkeit | Preise |
|---|---|---|---|---|
| Ranking API der Agent Platform |
Die Ranking API der Agent Platform ist ein eigenständiger semantischer Reranker, der für eine hochpräzise Relevanzbewertung und eine niedrige Latenz entwickelt wurde. Weitere Informationen zur Ranking API der Agent Platform finden Sie unter Such- und RAG Qualität mit der Ranking API verbessern. |
Sehr niedrig (weniger als 100 Millisekunden) | Hochmoderne Leistung | Pro RAG Engine-Anfrage |
| LLM-Reranker | Der LLM-Reranker verwendet einen separaten Aufruf von Gemini, um die Relevanz von Blöcken für eine Abfrage zu bewerten. | Hoch (1 bis 2 Sekunden) | Modellabhängig | LLM-Tokenpreise |
Ranking API der Agent Platform verwenden
Wenn Sie die Ranking API der Agent Platform verwenden möchten, müssen Sie die Discovery Engine API aktivieren. Alle unterstützten Modelle können Sie unter Such- und RAG-Qualität mit der Ranking API verbessern finden.
In diesen Codebeispielen wird gezeigt, wie Sie das erneute Ranking mit der Ranking API der Agent Platform in der Toolkonfiguration aktivieren.
Python
Informationen zum Installieren oder Aktualisieren des Agent Platform SDK für Python, siehe Agent Platform SDK für Python installieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Python API.
Ersetzen Sie die folgenden Variablen im Beispielcode:
- PROJECT_ID: Die ID Ihres Cloud de Confiance by S3NS Projekts.
- LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
- MODEL_NAME: LLM-Modell für die Inhaltsgenerierung. Beispiel:
gemini-3.8-flash. - INPUT_PROMPT: Der Text, der zur Inhalts generierung an das LLM gesendet wird.
- RAG_CORPUS_RESOURCE: Der Name der RAG-Korpus
ressource.
Format:projects/{project}/locations/{location}/ragCorpora/{rag_corpus}. - SIMILARITY_TOP_K: Optional: Die Anzahl der Top-Kontexte die abgerufen werden sollen.
- RANKER_MODEL_NAME: Der Name des Modells, das für das erneute Ranking verwendet wird. Beispiel:
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
Wenn Sie Inhalte mit Gemini-Modellen generieren möchten, rufen Sie die GenerateContent API der Agent Platform auf. Wenn Sie beim Senden der Anfrage RAG_CORPUS_RESOURCE angeben, ruft das Modell automatisch Daten aus der RAG Engine ab.
Ersetzen Sie die folgenden Variablen im Beispielcode:
- PROJECT_ID: Die ID Ihres Cloud de Confiance by S3NS Projekts.
- LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
- MODEL_NAME: LLM-Modell für die Inhaltsgenerierung. Beispiel:
gemini-3.8-flash. - GENERATION_METHOD: LLM-Methode zum Generieren von Inhalten.
Zu den Optionen gehören
generateContentundstreamGenerateContent. - INPUT_PROMPT: Der Text, der zur Inhalts generierung an das LLM gesendet wird.
- RAG_CORPUS_RESOURCE: Der Name der RAG-Korpus
ressource.
Format:projects/{project}/locations/{location}/ragCorpora/{rag_corpus}. - SIMILARITY_TOP_K: Optional: Die Anzahl der Top-Kontexte die abgerufen werden sollen.
- RANKER_MODEL_NAME: Der Name des Modells, das für das erneute Ranking verwendet wird. Beispiel:
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"
}
}
}
}
}
}
}'
LLM-Reranker in der RAG Engine verwenden
In diesem Abschnitt werden die Voraussetzungen und Codebeispiele für die Verwendung eines LLM-Rerankers vorgestellt.
Der LLM-Reranker unterstützt nur Gemini-Modelle, auf die zugegriffen werden kann, wenn die RAG Engine in der Gemini Enterprise Agent Platform API aktiviert ist. Eine Liste der unterstützten Modelle finden Sie unter Gemini Modelle.
So rufen Sie relevante Kontexte mit der RAG Engine API ab:
Python
Informationen zum Installieren oder Aktualisieren des Agent Platform SDK für Python finden Sie unter Agent Platform SDK für Python installieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Python API.
Ersetzen Sie die folgenden Variablen im Codebeispiel:
- PROJECT_ID: Die ID Ihres Cloud de Confiance by S3NS Projekts.
- LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
- RAG_CORPUS_RESOURCE: Der Name der RAG-Korpus
ressource. Format:
projects/{project}/locations/{location}/ragCorpora/{rag_corpus}. - TEXT: Der Abfragetext, um relevante Kontexte abzurufen.
- MODEL_NAME: Der Name des Modells, das für das erneute Ranking verwendet wird.
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
Ersetzen Sie die folgenden Variablen im Codebeispiel:
- PROJECT_ID: Die ID Ihres Cloud de Confiance by S3NS Projekts.
- LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
- RAG_CORPUS_RESOURCE: Der Name der RAG-Korpus
ressource. Format:
projects/{project}/locations/{location}/ragCorpora/{rag_corpus}. - TEXT: Der Abfragetext, um relevante Kontexte abzurufen.
- MODEL_NAME: Der Name des Modells, das für das erneute Ranking verwendet wird.
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"
}
}
}
}
}'
Nächste Schritte
Weitere Informationen zur RAG Engine in der Gemini Enterprise Agent Platform API finden Sie unter: