Nesta página, descrevemos duas maneiras de embasar as respostas de um modelo com a Vertex AI e mostramos como fazer o embasamento funcionar nos seus aplicativos usando a API de embasamento.
A Vertex AI permite que você estabeleça as saídas do modelo usando as seguintes fontes de dados:
- Pesquisa Google: embasa as respostas usando dados da Web disponíveis publicamente.
- Seus dados: baseia as respostas usando seus dados da Vertex AI para Pesquisa (pré-lançamento).
Embasamento com a Pesquisa Google
Use o Embasamento com a Pesquisa Google se quiser conectar o modelo ao conhecimento mundial, a uma ampla variedade de tópicos possíveis ou a informações atualizadas na Internet.
A integração com a Pesquisa Google oferece suporte à recuperação dinâmica, que permite gerar respostas com embasamento na pesquisa apenas quando necessário. Portanto, a configuração de recuperação dinâmica avalia se um comando exige conhecimento sobre eventos recentes e ativa a integração com a Pesquisa Google. Para mais informações, consulte Recuperação dinâmica.
Para saber mais sobre o embasamento de modelo na Vertex AI, consulte a Visão geral de embasamento.
Modelos compatíveis
Os seguintes modelos dão suporte ao embasamento:
- Gemini 1.5 Pro apenas com entrada de texto
- Gemini 1.5 Flash apenas com entrada de texto
- Gemini 1.0 Pro apenas com entrada de texto
Idiomas compatíveis
- inglês (en)
- Espanhol (es)
- Japonês (ja)
Basear seu modelo na Pesquisa Google
Use as instruções a seguir para embasar um modelo com dados da Web disponíveis publicamente.
Recuperação dinâmica
Você pode usar a recuperação dinâmica na sua solicitação para escolher quando desativar o embasamento com a Pesquisa Google. Isso é útil quando o comando não exige uma resposta com embasamento na Pesquisa Google e os modelos compatíveis podem fornecer uma resposta com base no conhecimento sem embasamento. Isso ajuda a gerenciar a latência, a qualidade e o custo com mais eficiência.
Antes de invocar a configuração de recuperação dinâmica na solicitação, entenda a seguinte terminologia:
Pontuação da previsão: quando você solicita uma resposta com embasamento, a Vertex AI atribui uma pontuação de previsão ao comando. A pontuação de previsão é um valor de ponto flutuante no intervalo [0,1]. O valor depende se a instrução pode se beneficiar ao basear a resposta com as informações mais atualizadas da Pesquisa Google. Portanto, uma instrução que exige uma resposta com embasamento nos fatos mais recentes da Web tem uma pontuação de previsão mais alta. Um comando para o qual uma resposta gerada pelo modelo é suficiente tem uma pontuação de previsão mais baixa.
Confira exemplos de algumas solicitações e as notas de previsão delas.
Comando Pontuação de previsão Comentário "Escreva um poema sobre peônias" 0,13 O modelo pode confiar no próprio conhecimento, e a resposta não precisa de embasamento. "Sugira um brinquedo para uma criança de 2 anos" 0.36 O modelo pode confiar no próprio conhecimento, e a resposta não precisa de embasamento. "Você pode dar uma receita de guacamole de inspiração asiática?" 0,55 A Pesquisa Google pode dar uma resposta com embasamento, mas o embasamento não é estritamente necessário. O conhecimento do modelo pode ser suficiente "O que é o Agent Builder? Como o embasamento é cobrado no Agent Builder?" 0,72 Requer que a Pesquisa Google gere uma resposta com bom embasamento "Quem ganhou o último Grande Prêmio de F1?" 0.97 Requer que a Pesquisa Google gere uma resposta com bom embasamento Limite: na solicitação, é possível especificar uma configuração de recuperação dinâmica com um limite. O limite é um valor de ponto flutuante no intervalo [0,1] e tem o valor padrão 0,7. Se o valor de limite for zero, a resposta será sempre com embasamento com a Pesquisa Google. Para todos os outros valores de limite, o seguinte é aplicável:
- Se a pontuação da previsão for maior ou igual ao limite, a resposta será baseada na Pesquisa Google. Um limite mais baixo implica que mais comandos têm respostas geradas usando o Embasamento com a Pesquisa Google.
- Se a pontuação da previsão for menor que o limite, o modelo ainda poderá gerar a resposta, mas ela não será baseada na Pesquisa Google.
Para encontrar um bom limite que atenda às necessidades da sua empresa, crie um conjunto representativo de consultas que você espera encontrar. Em seguida, você pode classificar as consultas de acordo com a pontuação de previsão na resposta e selecionar um limite adequado para seu caso de uso.
Considerações
Para usar o embasamento com a Pesquisa Google, ative as Sugestões de pesquisa. Saiba mais em Sugestões da Pesquisa Google.
Para resultados ideais, use uma temperatura de
0.0
. Para saber mais sobre como definir essa configuração, consulte o Corpo da solicitação da API Gemini na referência do modelo.O embasamento na Pesquisa Google tem um limite de um milhão de consultas por dia. Se precisar de mais, entre em contato com sua equipe de suporte.
REST
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.
- DYNAMIC_THRESHOLD: um campo opcional para definir o limite
para invocar a configuração de recuperação dinâmica. É um valor de ponto flutuante
no intervalo [0,1]. Se você não definir o campo
dynamicThreshold
, o valor de limite será 0,7.
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": [{ "googleSearchRetrieval": { "dynamicRetrievalConfig": { "mode": "MODE_DYNAMIC", "dynamicThreshold": DYNAMIC_THRESHOLD } } }], "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": "Chicago weather changes rapidly, so layers let you adjust easily. Consider a base layer, a warm mid-layer (sweater-fleece), and a weatherproof outer layer." } ] }, "finishReason": "STOP", "safetyRatings":[ "..." ], "groundingMetadata": { "webSearchQueries": [ "What's the weather in Chicago this weekend?" ], "searchEntryPoint": { "renderedContent": "....................." } "groundingSupports": [ { "segment": { "startIndex": 0, "endIndex": 65, "text": "Chicago weather changes rapidly, so layers let you adjust easily." }, "groundingChunkIndices": [ 0 ], "confidenceScores": [ 0.99 ] }, ] "retrievalMetadata": { "webDynamicRetrievalScore": 0.96879 } } } ], "usageMetadata": { "..." } }
Console
Para usar o Embasamento com a Pesquisa Google no Vertex AI Studio, siga estas etapas:
- No console do Google Cloud, acesse a página Vertex AI Studio.
- Clique na guia Freeform.
- No painel lateral, clique no botão Embasar respostas do modelo.
- Clique em Personalizar e defina a Pesquisa Google como a origem.
- Insira o comando na caixa de texto e clique em Enviar.
Agora, suas respostas aos comandos serão embasadas com a Pesquisa Google.
Python
Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Para mais informações, consulte a documentação de referência da API Python.
Entender a resposta
Se o comando do modelo embasar corretamente com a Pesquisa Google pelo Vertex AI Studio ou pela API, as respostas incluirão metadados com links de origem (URLs da Web). 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.
Citações
É altamente recomendável exibir citações. Elas ajudam os usuários a validarem as respostas dos próprios editores e oferecem caminhos para mais aprendizado.
As citações das respostas nas fontes da Pesquisa Google precisam ser exibidas inline e de forma agregada. Confira a imagem abaixo como uma sugestão de como fazer isso.
Uso de opções alternativas de mecanismo de pesquisa
O uso do Embasamento com a Pesquisa Google pelo Cliente não impede que o cliente ofereça opções alternativas de mecanismo de pesquisa, tornando essas opções alternativas de pesquisa a opção padrão para os Aplicativos do Cliente ou mostrando sugestões ou resultados de pesquisa próprios ou de terceiros nos Aplicativos do Cliente, desde que que tais serviços que não sejam da Pesquisa Google ou resultados associados sejam exibidos separadamente dos Resultados com embasamento e das Sugestões de Pesquisa e não possam ser razoavelmente atribuídos ou confundidos com os resultados fornecidos pelo Google.
Embasar o Gemini com seus dados
Esta seção mostra como basear respostas de texto para um repositório de dados do Vertex AI Agent Builder usando a API Vertex AI.
Modelos compatíveis
Os seguintes modelos dão suporte ao embasamento:
- Gemini 1.5 Pro apenas com entrada de texto
- Gemini 1.5 Flash apenas com entrada de texto
- Gemini 1.0 Pro apenas com entrada de texto
Pré-requisitos
Há pré-requisitos para embasar a saída do modelo nos dados.
- Ativar o Vertex AI Agent Builder e a API.
- Criar uma origem de dados e um app do Vertex AI Agent Builder.
- Vincule seu repositório de dados ao seu app no Vertex AI Agent Builder. A fonte de dados serve como a base para embasar o Gemini 1.0 Pro no Vertex AI.
- Ative a edição Enterprise para seu repositório de dados.
Consulte a Introdução à Vertex AI para Pesquisa para mais informações.
Ativar o Vertex AI Agent Builder
No Console do Google Cloud, acesse a página Criador de agentes.
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 fundamentar seus modelos nos dados de origem, você precisa preparar e salvar os dados na Vertex AI para Pesquisa. Para fazer isso, você precisa criar um repositório de dados no Vertex AI Agent Builder.
Se você estiver começando do zero, vai precisar preparar seus dados para transferência ao Vertex AI Agent Builder. Consulte Preparar dados para ingestão para começar. Dependendo do tamanho dos dados, a ingestão pode levar de vários minutos a várias horas. Só há suporte para armazenamentos de dados não estruturados.
Depois de preparar os dados para ingestão, crie um repositório de dados de pesquisa. Depois de criar um repositório de dados, crie um app de pesquisa para vinculá-lo e ative a edição Enterprise.
Exemplo: embasar o modelo Gemini 1.5 Flash
Use as instruções a seguir para embasar um modelo com seus próprios dados.
Se você não souber o ID do repositório de dados, siga estas etapas:
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.
Clique no nome do seu repositório de dados.
Na página Dados do seu repositório de dados, encontre o ID do repositório.
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 com base na Pesquisa Google
Quando um resultado com base é gerado, os metadados contêm um URI que redireciona para o editor do conteúdo usado para gerar o resultado com embasamento. Os metadados também contêm o domínio do editor. Os URIs fornecidos permanecem acessíveis por 30 dias após a geração do resultado com embasamento.
Python
Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Para mais informações, consulte a documentação de referência da API Python.
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:
- No console do Google Cloud, acesse a página Vertex AI Studio.
- Clique na guia Freeform.
- No painel lateral, clique no botão de alternância Respostas do modelo embasado para ativar o embasamento.
- Clique em Personalizar e defina o Vertex AI Agent Builder como a origem. O caminho precisa seguir este formato: projects/project_id/locations/global/collections/default_collection/dataStores/data_store_id.
- Insira o comando na caixa de texto e clique em Enviar.
Agora, suas respostas aos comandos serão embasadas no Vertex AI Agent Builder.
Mais recursos de IA generativa
- Para saber como enviar solicitações de comando de chat, consulte Chat com vários turnos.
- Para saber mais sobre as práticas recomendadas de IA responsável e os filtros de segurança da Vertex AI, consulte Práticas recomendadas de segurança.
- Para aprender a embasar os modelos PaLM, consulte Embasamento na Vertex AI.