A Exa oferece uma API de pesquisa que dá acesso a dados da Web disponíveis publicamente e otimizados para embasar respostas de modelos de linguagem grandes. Esta página explica como embasar respostas do Gemini usando a Exa.
O embasamento com a pesquisa na Web da Exa na Gemini Enterprise Agent Platform é uma oferta separada (conforme definido no seu Google Cloud contrato) que conecta modelos do Gemini a dados públicos da Web fornecidos pela API de pesquisa da Exa.
Casos de uso
O embasamento com a Exa melhora a precisão e reduz as alucinações, aos modelos acesso a dados da Web relevantes e atualizados. Os casos de uso comuns incluem:
- Agentes e chatbots gerais: recupere informações atualizadas para produzir respostas mais confiáveis.
- Agentes de pesquisa: realize pesquisas detalhadas na Web em várias fontes.
- Agentes de programação: extraia os snippets de código, documentos e referências técnicas mais recentes.
- Agentes de voz: recuperação da Web para oferecer suporte a interações de voz em tempo real e com baixa latência.
- Agentes específicos do setor: extraia informações atualizadas e específicas do domínio, adaptadas a um setor ou área de conhecimento específica.
- Aprimoramento de dados: aumente os conjuntos de dados internos com o contexto e os metadados da Web atuais.
- Fluxos de trabalho automatizados: colete periodicamente notícias, pessoas, empresas ou outros dados atualizados com frequência para fluxos de trabalho internos ou de produção.
Exemplo
Quem ganhou o Super Bowl de 2026?
| Sem embasamento | Com embasamento |
|---|---|
| Não posso dizer quem ganhou o Super Bowl de 2026, porque esse evento ainda não aconteceu. | O Seattle Seahawks venceu o Super Bowl LX em 8 de fevereiro de 2026, derrotando o New England Patriots com um placar final de 29 a 13. Fontes:domain1.com, domain2.com, ... |
Modelos compatíveis
Esta seção lista os modelos que oferecem suporte ao embasamento com a pesquisa na Web da Exa.
Clique para expandir os modelos compatíveis
Antes de começar
Para usar o embasamento com a Exa, você precisa receber uma chave de API do site da Exa. Essa chave de API é usada na sua solicitação ao Gemini.
Embasar respostas do Gemini com a Exa
Solicite respostas embasadas do Gemini usando o SDK de IA Generativa do Google ou a API REST. Para melhor desempenho, recomendamos usar as configurações padrão para parâmetros opcionais, a menos que você precise de valores não padrão.
Antes de executar os exemplos, conclua os pré-requisitos, incluindo a obtenção de uma chave de API da Exa.
Python
Instalar
pip install --upgrade google-genai
Para saber mais, consulte a documentação de referência do SDK.
Defina variáveis de ambiente para usar o SDK de IA Generativa do Google com a Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_ENTERPRISE=True
Antes de executar o exemplo, faça as seguintes substituições:
- MODEL_ID: o ID de um modelo compatível a ser usado, como
gemini-2.5-flash. - TEXT: o comando de texto a ser enviado para o modelo.
- API_KEY: sua chave de API para a pesquisa na Web da Exa.
- SEARCH_TYPE: opcional: o tipo de pesquisa da Exa
a ser executada. Os valores compatíveis são
fasteinstant. O padrão éfast, que fornece resultados abrangentes com latência reduzida e é um bom ajuste para pesquisas voltadas ao usuário e fluxos de trabalho interativos. Useinstantpara experiências que exigem a menor latência, como chat, agentes de voz e preenchimento automático. Ele minimiza o tempo de resposta, priorizando a velocidade em vez da profundidade da pesquisa. - EXCLUDE_DOMAINS: opcional: lista de domínios a serem
excluídos dos resultados da pesquisa. Se especificado, nenhum resultado será retornado desses domínios. Para
excluir mais de um domínio, adicione cada um como uma string entre aspas separada na lista (por
exemplo,
["example.com", "example.net"]). É possível especificar até 1.200 domínios. - INCLUDE_DOMAINS: opcional: lista de domínios a serem
incluídos na pesquisa. Se especificado, os resultados serão apenas desses domínios. Para incluir mais
de um domínio, adicione cada um como uma string entre aspas separada na lista (por exemplo,
["example.com", "example.net"]). É possível especificar até 1.200 domínios. - MAX_CHARACTERS: opcional: número máximo de caracteres a serem retornados para destaques. Controla o comprimento total do texto de destaque retornado por URL.
- NUM_RESULTS: opcional: o número máximo de resultados da pesquisa
a serem usados para embasamento. Se não for especificado, o padrão será
5.
from google import genai
from google.genai import types
client = genai.Client()
response = client.models.generate_content(
model="MODEL_ID",
contents="TEXT",
config=types.GenerateContentConfig(
tools=[
types.Tool(
exa_ai_search=types.ToolExaAiSearch(
# Required. Your API key for Exa web search.
api_key="API_KEY",
# Optional. Customize the search. Click a placeholder to
# enter a value, or remove the line to accept the default.
custom_configs={
"type": "SEARCH_TYPE",
"excludeDomains": ["EXCLUDE_DOMAINS"],
"includeDomains": ["INCLUDE_DOMAINS"],
"contents": {
"highlights": {
"maxCharacters": MAX_CHARACTERS,
},
},
"numResults": NUM_RESULTS,
},
)
)
],
),
)
print(response.text)
# The grounding metadata contains the web sources used to ground the response.
print(response.candidates[0].grounding_metadata.grounding_chunks)
Java
Saiba como instalar ou atualizar o Java.
Para saber mais, consulte a documentação de referência do SDK.
Defina variáveis de ambiente para usar o SDK de IA Generativa do Google com a Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_ENTERPRISE=True
Antes de executar o exemplo, faça as seguintes substituições:
- MODEL_ID: o ID de um modelo compatível a ser usado, como
gemini-2.5-flash. - TEXT: o comando de texto a ser enviado para o modelo.
- API_KEY: sua chave de API para a pesquisa na Web da Exa.
- SEARCH_TYPE: opcional: o tipo de pesquisa da Exa
a ser executada. Os valores compatíveis são
fasteinstant. O padrão éfast, que fornece resultados abrangentes com latência reduzida e é um bom ajuste para pesquisas voltadas ao usuário e fluxos de trabalho interativos. Useinstantpara experiências que exigem a menor latência, como chat, agentes de voz e preenchimento automático. Ele minimiza o tempo de resposta, priorizando a velocidade em vez da profundidade da pesquisa. - EXCLUDE_DOMAINS: opcional: lista de domínios a serem
excluídos dos resultados da pesquisa. Se especificado, nenhum resultado será retornado desses domínios. Para
excluir mais de um domínio, adicione cada um como uma string entre aspas separada na lista (por
exemplo,
["example.com", "example.net"]). É possível especificar até 1.200 domínios. - INCLUDE_DOMAINS: opcional: lista de domínios a serem
incluídos na pesquisa. Se especificado, os resultados serão apenas desses domínios. Para incluir mais
de um domínio, adicione cada um como uma string entre aspas separada na lista (por exemplo,
["example.com", "example.net"]). É possível especificar até 1.200 domínios. - MAX_CHARACTERS: opcional: número máximo de caracteres a serem retornados para destaques. Controla o comprimento total do texto de destaque retornado por URL.
- NUM_RESULTS: opcional: o número máximo de resultados da pesquisa
a serem usados para embasamento. Se não for especificado, o padrão será
5.
import com.google.genai.Client;
import com.google.genai.types.GenerateContentConfig;
import com.google.genai.types.GenerateContentResponse;
import com.google.genai.types.Tool;
import com.google.genai.types.ToolExaAiSearch;
import java.util.List;
import java.util.Map;
public class ExaGroundingSample {
public static void main(String[] args) {
try (Client client = Client.builder().build()) {
GenerateContentConfig config =
GenerateContentConfig.builder()
.tools(
Tool.builder()
.exaAiSearch(
ToolExaAiSearch.builder()
// Required. Your API key for Exa web search.
.apiKey("API_KEY")
// Optional. Customize the search. Click a
// placeholder to enter a value, or remove the
// entry to accept the default.
.customConfigs(
Map.of(
"type", "SEARCH_TYPE",
"excludeDomains",
List.of("EXCLUDE_DOMAINS"),
"includeDomains",
List.of("INCLUDE_DOMAINS"),
"contents",
Map.of(
"highlights",
Map.of(
"maxCharacters",
MAX_CHARACTERS)),
"numResults", NUM_RESULTS))
.build())
.build())
.build();
GenerateContentResponse response =
client.models.generateContent(
"MODEL_ID", "TEXT", config);
System.out.println(response.text());
// The grounding metadata contains the web sources used to ground the response.
System.out.println(
response.candidates().get().get(0).groundingMetadata().get().groundingChunks().get());
}
}
}
Node.js
Instalar
npm install @google/genai
Para saber mais, consulte a documentação de referência do SDK.
Defina variáveis de ambiente para usar o SDK de IA Generativa do Google com a Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_ENTERPRISE=True
Antes de executar o exemplo, faça as seguintes substituições:
- MODEL_ID: o ID de um modelo compatível a ser usado, como
gemini-2.5-flash. - TEXT: o comando de texto a ser enviado para o modelo.
- API_KEY: sua chave de API para a pesquisa na Web da Exa.
- SEARCH_TYPE: opcional: o tipo de pesquisa da Exa
a ser executada. Os valores compatíveis são
fasteinstant. O padrão éfast, que fornece resultados abrangentes com latência reduzida e é um bom ajuste para pesquisas voltadas ao usuário e fluxos de trabalho interativos. Useinstantpara experiências que exigem a menor latência, como chat, agentes de voz e preenchimento automático. Ele minimiza o tempo de resposta, priorizando a velocidade em vez da profundidade da pesquisa. - EXCLUDE_DOMAINS: opcional: lista de domínios a serem
excluídos dos resultados da pesquisa. Se especificado, nenhum resultado será retornado desses domínios. Para
excluir mais de um domínio, adicione cada um como uma string entre aspas separada na lista (por
exemplo,
["example.com", "example.net"]). É possível especificar até 1.200 domínios. - INCLUDE_DOMAINS: opcional: lista de domínios a serem
incluídos na pesquisa. Se especificado, os resultados serão apenas desses domínios. Para incluir mais
de um domínio, adicione cada um como uma string entre aspas separada na lista (por exemplo,
["example.com", "example.net"]). É possível especificar até 1.200 domínios. - MAX_CHARACTERS: opcional: número máximo de caracteres a serem retornados para destaques. Controla o comprimento total do texto de destaque retornado por URL.
- NUM_RESULTS: opcional: o número máximo de resultados da pesquisa
a serem usados para embasamento. Se não for especificado, o padrão será
5.
import {GoogleGenAI} from '@google/genai';
const ai = new GoogleGenAI({});
const response = await ai.models.generateContent({
model: 'MODEL_ID',
contents: 'TEXT',
config: {
tools: [
{
exaAiSearch: {
// Required. Your API key for Exa web search.
apiKey: 'API_KEY',
// Optional. Customize the search. Click a placeholder to enter a
// value, or remove the line to accept the default.
customConfigs: {
type: 'SEARCH_TYPE',
excludeDomains: ['EXCLUDE_DOMAINS'],
includeDomains: ['INCLUDE_DOMAINS'],
contents: {
highlights: {
maxCharacters: MAX_CHARACTERS,
},
},
numResults: NUM_RESULTS,
},
},
},
],
},
});
console.log(response.text);
// The grounding metadata contains the web sources used to ground the response.
console.log(response.candidates[0].groundingMetadata.groundingChunks);
REST
Antes de usar os dados da solicitação abaixo, faça estas substituições:
- LOCATION: a região para processar a solicitação. Para usar o endpoint global, exclua o local do nome do endpoint e configure o local do recurso como `global`.
- PROJECT_ID: o ID do projeto do Google Cloud .
- MODEL_ID: o ID do modelo que será usado.
- TEXT: o comando de texto a ser enviado para o modelo.
- API_KEY: sua chave de API para a pesquisa na Web da Exa.
- SEARCH_TYPE: opcional: o tipo de pesquisa da Exa
a ser executada. Os valores compatíveis são
fasteinstant. O padrão éfast, que fornece resultados abrangentes com latência reduzida e é um bom ajuste para pesquisas voltadas ao usuário e fluxos de trabalho interativos. Useinstantpara experiências que exigem a menor latência, como chat, agentes de voz e preenchimento automático. Ele minimiza o tempo de resposta, priorizando a velocidade em vez da média de páginas por visita. - EXCLUDE_DOMAINS: opcional: lista de domínios a serem excluídos dos resultados da pesquisa. Se especificado, nenhum resultado será retornado desses domínios. É possível especificar até 1.200 domínios.
- INCLUDE_DOMAINS: opcional: lista de domínios a serem incluídos na pesquisa. Se especificado, os resultados serão apenas desses domínios. É possível especificar até 1.200 domínios.
- MAX_CHARACTERS: opcional: número máximo de caracteres a serem retornados para destaques. Controla o comprimento total do texto de destaque retornado por URL.
- NUM_RESULTS: opcional: o número máximo de resultados da pesquisa
a serem usados para embasamento. Se não for especificado, o padrão será
5.
Método HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent
Corpo JSON da solicitação:
{
"contents": [{
"role": "user",
"parts": [{
"text": "TEXT"
}]
}],
"tools": [{
"exaAiSearch": {
"api_key": "API_KEY",
"customConfigs": {
"type": "SEARCH_TYPE",
"excludeDomains": ["EXCLUDE_DOMAINS"],
"includeDomains": ["INCLUDE_DOMAINS"],
"contents": {
"highlights": {
"maxCharacters": MAX_CHARACTERS
}
},
"numResults": NUM_RESULTS
}
}
}],
"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 seguinte.
Quota
A cota padrão é de 200 comandos por minuto. Se você precisar aumentar os limites de taxa, entre em contato com support@exa.ai e com a equipe da sua conta do Google, informando seu caso de uso e requisitos.
Faturamento
O uso do embasamento com a Exa gera as seguintes cobranças:
- Consumo de tokens do Gemini: tokens de comando, tokens de raciocínio, tokens de saída. Para saber mais informações, consulte Preços.
- Embasamento do Gemini com seus dados: para mais informações, consulte Preços.
- Preços para o uso da API de pesquisa da Exa: para mais informações, consulte a página de preços da Exa.