A página explica a reclassificação e os tipos de classificadores. A página também demonstra como usar a API Vertex AI Ranking para reclassificar as respostas obtidas.
Reclassificadores disponíveis
| Opções de classificação | Descrição | Latência | Precisão | Preços | 
|---|---|---|---|---|
| API Vertex AI Ranking | A API Vertex AI Ranking é um reclassificador semântico autónomo concebido para uma classificação de relevância de alta precisão e uma latência baixa. Para mais informações sobre a API Vertex AI Ranking, consulte o artigo Melhore a qualidade da pesquisa e da RAG com a API Ranking.  | 
      Muito baixo (menos de 100 milissegundos) | Desempenho de última geração | Por pedido do Vertex AI RAG Engine | 
| Reclassificador de GML | O reclassificador do GML usa uma chamada separada para o Gemini para avaliar a relevância dos fragmentos para uma consulta. | Alto (1 a 2 segundos) | Dependente do modelo | Preços dos tokens de MDI/CE | 
Use a API Vertex AI Ranking
Para usar a API Vertex AI Ranking, tem de ativar a API Discovery Engine. Pode encontrar todos os modelos suportados na API Improve search and RAG quality with ranking.
Estes exemplos de código demonstram como ativar a reclassificação com a API Vertex AI Ranking na configuração da ferramenta.
Python
Para saber como instalar ou atualizar o SDK Vertex AI para Python, consulte o artigo Instale o SDK Vertex AI para Python. Para mais informações, consulte a documentação de referência da API Python.
Substitua as seguintes variáveis usadas no código de exemplo:
- PROJECT_ID: o ID do seu projeto do Google Cloud .
 - LOCATION: a região para processar o pedido.
 - MODEL_NAME: modelo de GML para geração de conteúdo. Por
exemplo, 
gemini-2.0-flash. - INPUT_PROMPT: o texto enviado ao MDI/CE para geração de conteúdo.
 - RAG_CORPUS_RESOURCE: O nome do recurso do corpus RAG.
Formato:projects/{project}/locations/{location}/ragCorpora/{rag_corpus}. - SIMILARITY_TOP_K: opcional: o número de contextos principais a obter.
 - RANKER_MODEL_NAME: o nome do modelo usado para a reclassificação. Por exemplo, 
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
Para gerar conteúdo com modelos Gemini, faça uma chamada à API GenerateContent do Vertex AI. Ao especificar o
RAG_CORPUS_RESOURCE quando faz o pedido, o modelo obtém automaticamente dados
do motor RAG da Vertex AI.
Substitua as seguintes variáveis usadas no código de exemplo:
- PROJECT_ID: o ID do seu projeto do Google Cloud .
 - LOCATION: a região para processar o pedido.
 - MODEL_NAME: modelo de GML para geração de conteúdo. Por
exemplo, 
gemini-2.0-flash. - GENERATION_METHOD: método de MDI para geração de conteúdo.
As opções incluem 
generateContentestreamGenerateContent. - INPUT_PROMPT: o texto enviado ao MDI/CE para geração de conteúdo.
 - RAG_CORPUS_RESOURCE: O nome do recurso do corpus RAG.
Formato:projects/{project}/locations/{location}/ragCorpora/{rag_corpus}. - SIMILARITY_TOP_K: opcional: o número de contextos principais a obter.
 - RANKER_MODEL_NAME: o nome do modelo usado para a reclassificação. Por exemplo, 
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"
            }
          }
        }
      }
    }
  }
}'
Use o reclassificador de MDIs no Vertex AI RAG Engine
Esta secção apresenta os pré-requisitos e os exemplos de código para usar um reclassificador de MDG.
O reclassificador de MDIs só suporta modelos Gemini, que são acessíveis quando a API Vertex AI RAG Engine está ativada. Para ver a lista de modelos suportados, consulte os modelos do Gemini.
Para obter contextos relevantes através da API Vertex AI RAG Engine, faça o seguinte:
Python
Para saber como instalar ou atualizar o SDK Vertex AI para Python, consulte o artigo Instale o SDK Vertex AI para Python. Para mais informações, consulte a documentação de referência da API Python.
Substitua as seguintes variáveis usadas no exemplo de código:
- PROJECT_ID: o ID do seu projeto do Google Cloud .
 - LOCATION: a região para processar o pedido.
 - RAG_CORPUS_RESOURCE: o nome do recurso do corpus RAG. Formato:
projects/{project}/locations/{location}/ragCorpora/{rag_corpus}. - TEXT: o texto da consulta para obter contextos relevantes.
 - MODEL_NAME: o nome do modelo usado para reclassificação.
 
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
Substitua as seguintes variáveis usadas no exemplo de código:
- PROJECT_ID: o ID do seu projeto do Google Cloud .
 - LOCATION: a região para processar o pedido.
 - RAG_CORPUS_RESOURCE: o nome do recurso do corpus RAG. Formato:
projects/{project}/locations/{location}/ragCorpora/{rag_corpus}. - TEXT: o texto da consulta para obter contextos relevantes.
 - MODEL_NAME: o nome do modelo usado para reclassificação.
 
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"
          }
        }
      }
    }
  }'
O que se segue?
- Para saber mais sobre as respostas da RAG, consulte o artigo Resultados de obtenção e geração do motor RAG da Vertex AI.
 - Faça a gestão da sua base de conhecimentos (corpus) de RAG