Fundamentação com o Vertex AI Search

Esta página explica como pode fundamentar as respostas usando os seus dados da 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 da 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 à Pesquisa do Vertex AI para mais informações.

Ative as aplicações de IA

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

    Aplicações de IA

  2. Leia e aceite os Termos de Utilização e, de seguida, clique em Continuar e ativar a API.

As aplicações de IA estão disponíveis na localização global ou na multirregião eu e us. Para saber mais, consulte o artigo 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.
    O painel Importar dados do Cloud Storage é apresentado.

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

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

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

  6. Clique em Continuar.
    É apresentado o painel Configure o seu arquivo de dados.

  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 seu 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 Freeform.

    Aceder a Forma livre

  2. Para ativar a fundamentação, clique no botão de ativar/desativar Fundamentação: os seus dados.
  3. Clique em Personalizar.
    1. Selecione Vertex AI Search como origem.
    2. Usando este formato de caminho, substitua o ID do projeto do seu repositório de dados e o ID do repositório de dados:

      projects/project_id/locations/global/collections/default_collection/dataStores/data_store_id.

  4. Clique em Guardar.
  5. Introduza o comando na caixa de texto e clique em Enviar.

As respostas aos seus comandos são baseadas em aplicações de IA.

Python

Antes de experimentar este exemplo, siga as Pythoninstruções de configuração no início rápido do Vertex AI com bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Python Vertex AI.

Para se autenticar no Vertex AI, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.

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

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

# Load Data Store ID from Vertex AI Search
# datastore = "projects/111111111111/locations/global/collections/default_collection/dataStores/data-store-id"

response = client.models.generate_content(
    model="gemini-2.5-flash",
    contents="How do I make an appointment to renew my driver's license?",
    config=GenerateContentConfig(
        tools=[
            # Use Vertex AI Search Tool
            Tool(
                retrieval=Retrieval(
                    vertex_ai_search=VertexAISearch(
                        datastore=datastore,
                    )
                )
            )
        ],
    ),
)

print(response.text)
# Example response:
# 'The process for making an appointment to renew your driver's license varies depending on your location. To provide you with the most accurate instructions...'

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.
  • PROJECT_ID: o seu ID do projeto.
  • MODEL_ID: o ID do modelo multimodal.
  • TEXT: As instruções de texto a incluir no comando.

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": "TEXT"
    }]
  }],
  "tools": [{
    "retrieval": {
      "vertexAiSearch": {
        "datastore": projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_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 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 bloco 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?