Fundamentação com o Vertex AI Search

Esta página explica como pode fundamentar as respostas usando os seus dados do Vertex AI Search.

Fundamentar o Gemini nos seus dados

Se quiser fazer uma geração aumentada de obtenção (RAG), associe o seu modelo aos dados do seu Website ou aos seus conjuntos de documentos e, em seguida, use a Fundamentação com a Pesquisa do Vertex AI.

A fundamentação nos seus dados suporta um máximo de 10 origens de dados do Vertex AI Search e pode ser combinada com a fundamentação com a Pesquisa Google.

Modelos suportados

Esta secção apresenta os modelos que suportam a fundamentação com os seus dados.

Pré-requisitos

Antes de poder fundamentar a saída do modelo nos seus dados, faça o seguinte:

  1. Na Google Cloud consola, aceda à página IAM e pesquise a autorização discoveryengine.servingConfigs.search, que é necessária para o serviço de fundamentação funcionar.

    Aceda ao IAM

  2. Ative as aplicações de IA e ative a API.

  3. Crie uma origem de dados de aplicações de IA e uma aplicação.

Consulte a Introdução ao Vertex AI Search para mais informações.

Ative as aplicações de IA

Para usar o Vertex AI Search para fundamentar as suas respostas, tem de ativar o serviço Vertex AI Search seguindo estes passos:

  1. Na Google Cloud consola, aceda à página Aplicações de IA.

    Aceda a Aplicações de IA

  2. Opcional: reveja os termos de utilização de dados.

As aplicações de IA estão disponíveis na localização global ou na eu e na multirregião us. Para saber mais, consulte Localizações das aplicações de IA.

Crie um repositório de dados em Aplicações de IA

Para criar um arquivo de dados em Aplicações de IA, pode optar por fundamentar com dados de Websites ou documentos.

Website

  1. Abra a página Criar loja de dados a partir da Google Cloud consola.

  2. Na caixa Conteúdo do Website, clique em Selecionar.
    É apresentado o painel Especifique os Websites para o seu arquivo de dados.

  3. Se a opção Indexação avançada do Website não estiver selecionada, selecione a caixa de verificação Indexação avançada do Website para a ativar.
    É apresentado o painel Configurar o seu repositório de dados.

  4. Na secção Especifique padrões de URL a indexar, faça o seguinte:

    • Adicione URLs para Sites a incluir.
    • Opcional: adicione URLs para Sites a excluir.
  5. Clique em Continuar.

  6. No painel Configure o seu repositório de dados:

    1. Selecione um valor na lista Localização do seu arquivo de dados.
    2. Introduza um nome no campo Nome da loja de dados. O ID é gerado. Use este ID quando gerar as respostas fundamentadas com o seu armazenamento de dados. Para mais informações, consulte o artigo Gere respostas fundamentadas com o seu repositório de dados.
    3. Clique em Criar.

Documentos

  1. Abra a página Criar loja de dados a partir da Google Cloud consola.

  2. Na caixa Cloud Storage, clique em Selecionar.
    É apresentado o painel Importar dados do Cloud Storage.

  3. Na secção Documentos não estruturados (PDF, HTML, TXT e muito mais), selecione Documentos não estruturados (PDF, HTML, TXT e muito mais).

  4. Selecione uma opção de Frequência de sincronização.

  5. Selecione a opção Selecione uma pasta ou um ficheiro que quer importar e introduza o caminho no campo.

  6. Clique em Continuar.
    O painel Configure a sua loja de dados é apresentado.

  7. No painel Configure o seu repositório de dados:

    1. Selecione um valor na lista Localização do seu arquivo de dados.
    2. Introduza um nome no campo Nome da loja de dados. O ID é gerado.
    3. Para selecionar opções de análise e divisão em blocos para os seus documentos, expanda a secção Opções de processamento de documentos. Para mais informações sobre os diferentes analisadores, consulte o artigo Analise documentos.
    4. Clique em Criar.
  8. Clique em Criar.

Gere respostas fundamentadas com o seu repositório de dados

Use as instruções seguintes para fundamentar um modelo com os seus dados. É suportado um máximo de 10 arquivos de dados.

Se não souber o ID da loja de dados, siga estes passos:

  1. Na Google Cloud consola, aceda à página Aplicações de IA e, no menu de navegação, clique em Armazenamentos de dados.

    Aceda à página Armazenamentos de dados

  2. Clique no nome do arquivo de dados.

  3. Na página Dados da sua loja de dados, obtenha o ID da loja de dados.

Consola

Para fundamentar a saída do modelo nas aplicações de IA através do Vertex AI Studio na Google Cloud consola, siga estes passos:

  1. Na Google Cloud consola, aceda à página Vertex AI Studio.

    Aceda ao Vertex AI Studio

  2. Para ativar a fundamentação, siga estes passos:
    1. Clique em + Novo e Chat no menu de navegação.
    2. Expanda o painel Definições do modelo e selecione o seu modelo.
    3. Opcional: se o botão Saída estruturada ou Fundamentação: Google estiver ativado, desative a opção.
    4. Clique no botão Fundamentação: os seus dados. É apresentado o painel Personalizar base.
      1. Selecione uma opção de origem de base na tabela seguinte:
      2. Opção de fundamentação Descrição Entrada
        Vertex AI RAG Engine Terrenos com os seus dados e componentes de criação própria. Se não tiver um corpus, tem de criar um. Caso contrário, introduza o seu corpus.
        Vertex AI Search Fundamentos para usar os seus dados com um motor de pesquisa gerido pela Google. Introduza o caminho no campo Caminho do banco de dados do Vertex AI.
        Elasticsearch Terrenos com o Elasticsearch. Introduza as seguintes informações:
        1. Introduza um valor no campo Ponto final do Elasticsearch.
        2. Introduza um valor no campo Chave da API Elasticsearch.
        3. Introduza um valor no campo Índice do Elasticsearch.
        4. Introduza um valor no campo Modelo de pesquisa do Elasticsearch.
      3. Clique em Guardar.
  3. Introduza o comando na caixa de texto e clique em Enviar. As respostas aos seus comandos baseiam-se em aplicações de IA.

Python

Instalação

pip install --upgrade google-genai

Para saber mais, consulte a documentação de referência do SDK.

Defina variáveis de ambiente para usar o SDK de IA gen com o Vertex AI:

# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=global
export GOOGLE_GENAI_USE_VERTEXAI=True

from google import genai
from google.genai.types import (
    GenerateContentConfig,
    VertexAISearch,
    Retrieval,
    Tool,
    HttpOptions,
)

client = genai.Client(http_options=HttpOptions(api_version="v1"))

# Replace with your Vertex AI Search data store details
DATASTORE_PATH = "projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATASTORE_ID"

tool = Tool(
    retrieval=Retrieval(
        vertex_ai_search=VertexAISearch(
            datastore=DATASTORE_PATH
        )
    )
)

response = client.models.generate_content(
    model="gemini-2.5-flash",  # Or another supported model
    contents="What information can you find about topic X in the provided documents?", # Your query
    config=GenerateContentConfig(
        tools=[tool],
    ),
)

print(response.text)

REST

Para testar um comando de texto através da API Vertex AI, envie um pedido POST para o ponto final do modelo do publicador.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • LOCATION: a região para processar o pedido. Para usar o global endpoint, exclua a localização do nome do endpoint e configure a localização do recurso para global.
  • PROJECT_ID: o seu ID do projeto.
  • MODEL_ID: o ID do modelo multimodal.
  • PROMPT: o comando a enviar para o modelo.

Método HTTP e URL:

POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent

Corpo JSON do pedido:

{
  "contents": [{
    "role": "user",
    "parts": [{
      "text": "PROMPT"
    }]
  }],
  "tools": [{
    "retrieval": {
      "vertexAiSearch": {
        "datastore": projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATASTORE_ID
      }
    }
  }],
  "model": "projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID"
}

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

{
  "candidates": [
    {
      "content": {
        "role": "model",
        "parts": [
          {
            "text": "You can make an appointment on the website https://dmv.gov/"
          }
        ]
      },
      "finishReason": "STOP",
      "safetyRatings": [
        "..."
      ],
      "groundingMetadata": {
        "retrievalQueries": [
          "How to make appointment to renew driving license?"
        ],
        "groundingChunks": [
          {
            "retrievedContext": {
              "uri": "https://vertexaisearch.cloud.google.com/grounding-api-redirect/AXiHM.....QTN92V5ePQ==",
              "title": "dmv"
            }
          }
        ],
        "groundingSupport": [
          {
            "segment": {
              "startIndex": 25,
              "endIndex": 147
            },
            "segment_text": "ipsum lorem ...",
            "supportChunkIndices": [1, 2],
            "confidenceScore": [0.9541752, 0.97726375]
          },
          {
            "segment": {
              "startIndex": 294,
              "endIndex": 439
            },
            "segment_text": "ipsum lorem ...",
            "supportChunkIndices": [1],
            "confidenceScore": [0.9541752, 0.9325467]
          }
        ]
      }
    }
  ],
  "usageMetadata": {
    "..."
  }
}

Compreenda a sua resposta

A resposta de ambas as APIs inclui o texto gerado pelo MDI/CE, que se denomina candidato. Se o comando do modelo for fundamentado com êxito na sua origem de dados, as respostas incluem metadados de fundamentação, que identificam as partes da resposta que foram derivadas dos seus dados. No entanto, existem vários motivos pelos quais estes metadados podem não ser fornecidos e a resposta ao comando não é fundamentada. Estes motivos incluem a baixa relevância da fonte ou informações incompletas na resposta do modelo.

Segue-se uma análise detalhada dos dados de saída:

  • Função: indica o remetente da resposta fundamentada. Uma vez que a resposta contém sempre texto fundamentado, a função é sempre model.
  • Texto: a resposta fundamentada gerada pelo MDI/CE.
  • Metadados de fundamentação: informações sobre a origem da fundamentação, que contém os seguintes elementos:
    • Fragmentos de fundamentação: uma lista de resultados do seu índice que fundamentam a resposta.
    • Fundamentação suportada: informações sobre uma reivindicação específica na resposta que podem ser usadas para mostrar citações:
    • Segmento: a parte da resposta do modelo que é fundamentada por um fragmento de base.
    • Índice do fragmento de fundamentação: o índice dos fragmentos de fundamentação na lista de fragmentos de fundamentação que corresponde a esta reivindicação.
    • Níveis de confiança: um número de 0 a 1 que indica o quão fundamentada está a reivindicação no conjunto de fragmentos de fundamentação fornecido. Não está disponível para o Gemini 2.5 e posteriores.

O que se segue?