En la página, se explica el cambio de clasificación y los tipos de clasificadores. También se muestra cómo usar la API de clasificación de Gemini Enterprise Agent Platform para volver a clasificar las respuestas recuperadas.
Clasificadores disponibles
| Opciones de clasificadores | Descripción | Latencia | Exactitud | Precios |
|---|---|---|---|---|
| API de clasificación de Agent Platform |
La API de clasificación de Agent Platform es un clasificador semántico independiente diseñado para la puntuación de relevancia de alta precisión y la baja latencia. Para obtener más información sobre la API de clasificación de Agent Platform, consulta Mejora la calidad de la búsqueda y la RAG calidad con la API de clasificación. |
Muy baja (menos de 100 milisegundos) | Rendimiento de vanguardia | Por solicitud de RAG Engine |
| Clasificador de LLM | El clasificador de LLM usa una llamada independiente a Gemini para evaluar la relevancia de los fragmentos en una consulta. | Alta (1 a 2 segundos) | Depende del modelo | Precios de tokens de LLM |
Usa la API de clasificación de Agent Platform
Para usar la API de clasificación de Agent Platform, debes habilitar la API de Discovery Engine. Puedes encontrar todos los modelos compatibles en la Mejora la calidad de la búsqueda y la RAG con la API de clasificación.
En estas muestras de código, se muestra cómo habilitar el cambio de clasificación con la API de clasificación de Agent Platform en la configuración de la herramienta.
Python
Si deseas obtener información para instalar o actualizar el SDK de Agent Platform para Python, consulta Instala el SDK de Agent Platform para Python. Si deseas obtener más información, consulta la documentación de referencia de la API de Python.
Reemplaza las siguientes variables que se usan en el código de muestra:
- PROJECT_ID: Es el ID de tu Cloud de Confiance by S3NS proyecto.
- LOCATION: Es la región para procesar la solicitud.
- MODEL_NAME: Es el modelo de LLM para la generación de contenido. Por ejemplo,
gemini-3.8-flash. - INPUT_PROMPT: Es el texto que se envía al LLM para la generación de contenido.
- RAG_CORPUS_RESOURCE: Es el nombre del recurso del corpus de RAG.
Formato:projects/{project}/locations/{location}/ragCorpora/{rag_corpus}. - SIMILARITY_TOP_K: Opcional: Es la cantidad de contextos principales que se recuperarán.
- RANKER_MODEL_NAME: Es el nombre del modelo que se usa para el cambio de clasificación. Por ejemplo,
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
Para generar contenido con modelos de Gemini, haz una llamada a la API de GenerateContent de Agent Platform. Si especificas RAG_CORPUS_RESOURCE cuando realizas la solicitud, el modelo recupera automáticamente datos de RAG Engine.
Reemplaza las siguientes variables que se usan en el código de muestra:
- PROJECT_ID: Es el ID de tu Cloud de Confiance by S3NS proyecto.
- LOCATION: Es la región para procesar la solicitud.
- MODEL_NAME: Es el modelo de LLM para la generación de contenido. Por ejemplo,
gemini-3.8-flash. - GENERATION_METHOD: Es el método de LLM para la generación de contenido.
Las opciones incluyen
generateContentystreamGenerateContent. - INPUT_PROMPT: Es el texto que se envía al LLM para la generación de contenido.
- RAG_CORPUS_RESOURCE: Es el nombre del recurso del corpus de RAG.
Formato:projects/{project}/locations/{location}/ragCorpora/{rag_corpus}. - SIMILARITY_TOP_K: Opcional: Es la cantidad de contextos principales que se recuperarán.
- RANKER_MODEL_NAME: Es el nombre del modelo que se usa para el cambio de clasificación. Por ejemplo,
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"
}
}
}
}
}
}
}'
Usa el clasificador de LLM en RAG Engine
En esta sección, se presentan los requisitos previos y las muestras de código para usar un clasificador de LLM.
El clasificador de LLM solo admite modelos de Gemini, a los que se puede acceder cuando se habilita el motor RAG en la API de Gemini Enterprise Agent Platform. Para ver la lista de modelos compatibles, consulta Modelos de Gemini.
Para recuperar contextos relevantes con la API de RAG Engine, haz lo siguiente:
Python
Si deseas obtener información para instalar o actualizar el SDK de Agent Platform para Python, consulta Instala el SDK de Agent Platform para Python. Si deseas obtener más información, consulta la documentación de referencia de la API de Python.
Reemplaza las siguientes variables que se usan en la muestra de código:
- PROJECT_ID: Es el ID de tu Cloud de Confiance by S3NS proyecto.
- LOCATION: Es la región para procesar la solicitud.
- RAG_CORPUS_RESOURCE: Es el nombre del recurso del corpus de RAG. Formato:
projects/{project}/locations/{location}/ragCorpora/{rag_corpus}. - TEXT: Es el texto de la consulta para obtener contextos relevantes.
- MODEL_NAME: Es el nombre del modelo que se usa para el cambio de clasificación.
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
Reemplaza las siguientes variables que se usan en el muestra de código:
- PROJECT_ID: Es el ID de tu Cloud de Confiance by S3NS proyecto.
- LOCATION: Es la región para procesar la solicitud.
- RAG_CORPUS_RESOURCE: Es el nombre del recurso del corpus de RAG. Formato:
projects/{project}/locations/{location}/ragCorpora/{rag_corpus}. - TEXT: Es el texto de la consulta para obtener contextos relevantes.
- MODEL_NAME: Es el nombre del modelo que se usa para el cambio de clasificación.
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"
}
}
}
}
}'
¿Qué sigue?
Para obtener más información sobre el motor RAG en la API de Gemini Enterprise Agent Platform, consulta lo siguiente: