Esta página explica como embasar as respostas de um modelo usando a Pesquisa Google, que usa dados da Web disponíveis publicamente.
Embasamento com a Pesquisa Google
Se você quiser conectar seu modelo ao conhecimento mundial, a uma ampla variedade de tópicos possíveis ou a informações atualizadas na Internet, use o Embasamento com a Pesquisa Google.
A integração com a Pesquisa Google oferece suporte à recuperação dinâmica, que permite gerar respostas com embasamento na pesquisa. 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
Esta seção lista os modelos que oferecem suporte ao embasamento com a Pesquisa. Para saber como cada modelo gera respostas com base em dados, siga estas instruções:
Teste um modelo listado nesta tabela no console do Google Cloud.
Clique no botão Embassamento para ativar esse recurso.
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 Não oferece suporte à recuperação dinâmica. Para mais informações, consulte Considerações. |
Teste o modelo Gemini 2.0 Flash |
Idiomas disponíveis
Para conferir a lista de idiomas compatíveis, consulte Idiomas.
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 base 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 você precisar de mais consultas, entre em contato com o Google Cloud suporte para receber ajuda.
Somente os modelos Gemini 1.0 e Gemini 1.5 oferecem suporte à recuperação dinâmica. Os modelos Gemini 2.0 não oferecem suporte à recuperação dinâmica.
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 Formato livre.
- 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.
Node.js
Antes de testar esse exemplo, siga as instruções de configuração para Node.js 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 Node.js.
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.
Antes de usar os dados da solicitação, 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. Somente os modelos Gemini 1.0 e Gemini 1.5 oferecem suporte à recuperação dinâmica. Os modelos Gemini 2.0 não oferecem suporte à recuperação dinâmica.
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 campodynamicThreshold
, o valor de limite será0.7
.
const {VertexAI} = require('@google-cloud/vertexai');
// Initialize Vertex with your Cloud project and location
const vertex_ai = new VertexAI({project: PROJECT_ID, location: LOCATION});
const model = MODEL_ID;
// Instantiate the models
const generativeModel = vertex_ai.preview.getGenerativeModel({
model: model,
generationConfig: {
'maxOutputTokens': 8192,
'temperature': 1,
'topP': 0.95,
},
safetySettings: [
{
'category': 'HARM_CATEGORY_HATE_SPEECH',
'threshold': 'OFF',
},
{
'category': 'HARM_CATEGORY_DANGEROUS_CONTENT',
'threshold': 'OFF',
},
{
'category': 'HARM_CATEGORY_SEXUALLY_EXPLICIT',
'threshold': 'OFF',
},
{
'category': 'HARM_CATEGORY_HARASSMENT',
'threshold': 'OFF',
}
],
tools: [
{
googleSearchRetrieval: {
dynamicRetrievalConfig: {
mode: "MODE_DYNAMIC",
dynamicThreshold: DYNAMIC_THRESHOLD
}
},
},
],
});
async function generateContent() {
const req = {
contents: [
{role: 'user', parts: [{text: `TEXT`}]}
],
};
const streamingResp = await generativeModel.generateContentStream(req);
for await (const item of streamingResp.stream) {
process.stdout.write('stream chunk: ' + JSON.stringify(item) + '\n');
}
process.stdout.write('aggregated response: ' + JSON.stringify(await streamingResp.response));
}
generateContent();
SDK da Vertex AI para Python
Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Saiba mais na documentação de referência da API SDK da Vertex AI para Python.
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. Somente os modelos Gemini 1.0 e Gemini 1.5 oferecem suporte à recuperação dinâmica. Os modelos do Gemini 2.0 não oferecem suporte à recuperação dinâmica.
- 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": { "..." } }
Entender a resposta
Se o comando do modelo embasar corretamente com a Pesquisa Google pelo Vertex AI Studio ou pela API, as respostas vão incluir 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 da integração com a Pesquisa do Google pelo cliente não impede que ele ofereça opções de mecanismo de pesquisa alternativas, tornando as opções de pesquisa alternativas a opção padrão para os aplicativos do cliente ou exibindo as próprias sugestões de pesquisa ou resultados de pesquisa de terceiros nos aplicativos do cliente, desde que esses serviços que não são do Google ou resultados associados sejam exibidos separadamente dos resultados e sugestões de pesquisa e não possam ser atribuídos ou confundidos com resultados fornecidos pelo Google.
A seguir
- 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.