Basear com seus dados

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

Embasar o Gemini com seus dados

Se você quiser fazer a geração aumentada de recuperação (RAG, na sigla em inglês), 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 compartilhamento de dados com a Pesquisa Google.

Modelos compatíveis

Esta seção lista os modelos que oferecem suporte ao embasamento com seus dados. Para conferir como cada modelo gera respostas fundamentadas, siga estas instruções:

  1. Teste um modelo listado nesta tabela no console do Google Cloud.

  2. Clique no botão Embassamento para ativar esse recurso.

  3. Clique em Personalizar para abrir o painel Personalizar embasamento.

  4. Selecione Vertex AI para Pesquisa.

  5. Na seção Embasadas na Vertex AI para Pesquisa, insira o caminho do repositório de dados da Vertex AI. Se você não tiver um armazenamento de dados da Vertex AI, crie um. Para mais informações, consulte Criar um repositório de dados.

  6. Clique em Salvar.

Modelo Descrição Testar um modelo
Gemini 1.5 Pro
Somente entrada de texto Testar o modelo Gemini 1.5 Pro
Gemini 1.5 Flash
Somente entrada de texto Testar o modelo Flash do Gemini 1.5
Gemini 1.0 Pro
Somente entrada de texto Testar o modelo Gemini 1.0 Pro
Flash 2.0 do Gemini
Texto, código, imagens, áudio, vídeo, vídeo com áudio, PDF Teste o modelo Gemini 2.0 Flash

Pré-requisitos

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

  1. Ative o Vertex AI Agent Builder e a API.
  2. Crie uma origem de dados e um aplicativo do Vertex AI Agent Builder.

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

Ativar o Vertex AI Agent Builder

  1. No Console do Google Cloud, acesse a página Criador de agentes.

    Agent Builder.

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

Vertex AI Agent Builder está disponível no local global ou nas multirregiões eu e us. Para saber mais, consulte Locais do Vertex AI Agent Builder.

Criar um repositório de dados no Vertex AI Agent Builder

Para criar um repositório de dados no Vertex AI Agent Builder, você pode 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 com base no 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 Vertex AI Agent Builder 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 Vertex AI Agent Builder 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 e clique na guia Freeform.

    Acessar o Vertex AI Studio

  2. No painel lateral, clique no botão de alternância Respostas do modelo embasado para ativar o embasamento.
  3. Clique em Personalizar.
    1. Defina a Vertex AI para Pesquisa como a origem.
    2. Usando este 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. Insira o comando na caixa de texto e clique em Enviar.

Suas respostas aos comandos são embasadas no Vertex AI Agent Builder.

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.

import vertexai

from vertexai.preview.generative_models import (
    GenerationConfig,
    GenerativeModel,
    Tool,
    grounding,
)

# TODO(developer): Update and un-comment below lines
# PROJECT_ID = "your-project-id"
# data_store_id = "your-data-store-id"

vertexai.init(project=PROJECT_ID, location="us-central1")

model = GenerativeModel("gemini-1.5-flash-001")

tool = Tool.from_retrieval(
    grounding.Retrieval(
        grounding.VertexAISearch(
            datastore=data_store_id,
            project=PROJECT_ID,
            location="global",
        )
    )
)

prompt = "How do I make an appointment to renew my driver's license?"
response = model.generate_content(
    prompt,
    tools=[tool],
    generation_config=GenerationConfig(
        temperature=0.0,
    ),
)

print(response.text)

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

Se o comando do modelo embasar corretamente com as lojas de dados da Vertex AI Search usando o Vertex AI Studio ou a API, as respostas do modelo vão incluir metadados com citações e links de origem. Se a relevância da fonte for baixa ou se houver informações incompletas na resposta do modelo, os metadados podem não ser fornecidos, e a resposta ao comando não será embasada.

A seguir