Embasamento com seus dados

Nesta página, explicamos como fundamentar respostas usando seus dados da Vertex AI para Pesquisa (pré-lançamento).

Como basear o Gemini nos seus dados

Se você quiser fazer a geração aumentada de recuperação (RAG), conecte seu modelo aos dados do site ou aos conjuntos de documentos e use a Embasamento com a Vertex AI para Pesquisa.

O compartilhamento de dados com base em seus dados oferece suporte a um máximo de 10 fontes de dados da Vertex AI para Pesquisa e pode ser combinado com o Embasamento com a Pesquisa Google.

Modelos compatíveis

Esta seção lista os modelos que oferecem suporte ao embasamento com seus dados.

Pré-requisitos

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

  1. Ativar aplicativos de IA e a API.
  2. Crie uma origem de dados de aplicativos de IA e um aplicativo.

Consulte a Introdução à Vertex AI para Pesquisa para mais informações.

Ativar aplicativos de IA

  1. No console do Google Cloud, acesse a página Aplicativos de IA.

    Aplicativos de IA

  2. Leia e aceite os Termos de Serviço e clique em Continuar e ativar a API.

A AI Applications está disponível no local global ou na multirregião eu e us. Para saber mais, consulte Locais de aplicativos de IA.

Criar um repositório de dados em aplicativos de IA

Para criar um repositório de dados em aplicativos de IA, é possível usar dados ou documentos do site.

Site

  1. Abra a página Criar repositório de dados no console do Google Cloud.

  2. Na caixa Conteúdo do site, clique em Selecionar.
    O painel Especificar os sites do repositório de dados é exibido.

  3. Se a opção Indexação avançada de sites não estiver marcada, selecione a caixa de seleção Indexação avançada de sites para ativar.
    O painel Configure seu repositório de dados é exibido.

  4. Na seção Especificar padrões de URL para indexação, faça o seguinte:

    • Adicione URLs para Sites a serem incluídos.
    • Opcional: adicione URLs para Sites a serem excluídos.
  5. Clique em Continuar.

  6. No painel Configurar seu repositório de dados,

    1. Selecione um valor na lista Local do repositório de dados.
    2. Insira um nome no campo Nome do repositório de dados. O ID é gerado. Use esse ID ao gerar respostas fundamentadas com seu repositório de dados. Para mais informações, consulte Gerar respostas fundamentadas com o repositório de dados.
    3. Clique em Criar.

Documentos

  1. Abra a página Criar repositório de dados no console do Google Cloud.

  2. Na caixa Cloud Storage, clique em Selecionar.
    O painel Importar dados do Cloud Storage é exibido.

  3. Na seçã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 arquivo para importar e insira o caminho no campo.

  6. Clique em Continuar.
    O painel Configurar seu repositório de dados é exibido.

  7. No painel Configurar seu repositório de dados,

    1. Selecione um valor na lista Local do repositório de dados.
    2. Insira um nome no campo Nome do repositório de dados. O ID é gerado.
    3. Para selecionar opções de análise e fragmentação para seus documentos, abra a seção Document Processing Options. Para mais informações sobre parsers diferentes, consulte Analisar documentos.
    4. Clique em Criar.
  8. Clique em Criar.

Gerar respostas embasadas com o repositório de dados

Use as instruções a seguir para embasar um modelo com seus dados. Há suporte para um máximo de 10 repositórios de dados.

Se você não souber o ID do repositório de dados, siga estas etapas:

  1. No console do Google Cloud, acesse a página Aplicativos de IA e, no menu de navegação, clique em Repositórios de dados.

    Acesse a página Repositório de dados

  2. Clique no nome do seu repositório de dados.

  3. Na página Dados do seu repositório de dados, encontre o ID do repositório.

Console

Para embasar a saída do modelo com aplicativos de IA usando o Vertex AI Studio no console do Google Cloud, siga estas etapas:

  1. No console do Google Cloud, acesse a página Vertex AI Studio Freeform.

    Acesse Formato livre

  2. Para ativar o embasamento, clique no botão Embassamento: seus dados.
  3. Clique em Personalizar.
    1. Selecione Vertex AI para Pesquisa como sua origem.
    2. Usando esse formato de caminho, substitua o ID do projeto e o ID do repositório de dados:

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

  4. Clique em Salvar.
  5. Insira o comando na caixa de texto e clique em Enviar.

Suas respostas aos comandos são baseadas em aplicativos de IA.

Python

Antes de testar esse exemplo, siga as instruções de configuração para Python no Guia de início rápido da Vertex AI sobre como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Python.

Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar 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.0-flash-001",
    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 prompt de texto usando a API Vertex AI, envie uma solicitação POST para o endpoint do modelo do editor.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • LOCATION: a região para processar a solicitação.
  • PROJECT_ID: o ID do projeto.
  • MODEL_ID: o ID do modelo multimodal.
  • TEXT: as instruções de texto a serem incluídas 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 da solicitação:

{
  "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 a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "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": {
    "..."
  }
}

Entender a resposta

A resposta das duas APIs inclui o texto gerado pelo LLM, que é chamado de candidato. Se o comando do modelo for atribuído à sua fonte de dados do Elasticsearch, as respostas vão incluir metadados de fundamentação, que identificam as partes da resposta que foram derivadas dos seus dados do Elasticsearch. No entanto, há vários motivos para esses metadados não serem fornecidos, e a resposta ao comando não será embasada. Esses motivos incluem baixa relevância de fonte ou informações incompletas na resposta do modelo.

Confira a seguir um detalhamento dos dados de saída:

  • Função: indica o remetente da resposta fundamentada. Como a resposta sempre contém texto com embasamento, o papel é sempre model.
  • Texto: a resposta fundamentada gerada pelo LLM.
  • Metadados de aterramento: informações sobre a fonte de aterramento, que contém os seguintes elementos:
    • Chunks de fundamentação: uma lista de resultados do seu índice do Elasticsearch que oferece suporte à resposta.
    • Suportes de fundamentação: informações sobre uma afirmação específica na resposta que podem ser usadas para mostrar citações:
    • Segmento: a parte da resposta do modelo que é justificada por um fragmento de base.
    • Índice do bloco de aterramento: o índice dos blocos de aterramento na lista de blocos de aterramento que corresponde a essa declaração.
    • Pontuações de confiança: um número de 0 a 1 que indica o nível de embasamento da afirmação no conjunto fornecido de trechos de embasamento.

A seguir