A Exa fornece uma API de pesquisa que dá acesso a dados públicos da Web otimizados para embasar respostas de modelos de linguagem grandes. Nesta página, explicamos como embasar as respostas do Gemini usando o Exa.
O embasamento com a pesquisa na Web da Exa na Gemini Enterprise Agent Platform é uma Solução Separada (conforme definido no seu Google Cloud Contrato) que conecta os modelos do Gemini aos dados públicos da Web fornecidos pela API de pesquisa da Exa.
Casos de uso
O embasamento com o Exa melhora a precisão e reduz as alucinações, aos modelos acesso a dados da Web recentes e relevantes. Os casos de uso comuns incluem:
- Agentes gerais e chatbots: recuperam informações atualizadas para produzir respostas mais confiáveis.
- Agentes de pesquisa: faça 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 de baixa latência.
- Agentes específicos de setores: buscam informações atualizadas e específicas de um 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 atuais da Web.
- 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 por 29 a 13. Origens: domain1.com, domain2.com, ... |
Modelos compatíveis
Esta seção lista os modelos que aceitam o embasamento com a pesquisa na Web do Exa.
Clique para abrir os modelos compatíveis
Antes de começar
Para usar o embasamento com o Exa, você precisa de uma chave de API do site do Exa. Essa chave de API é usada na sua solicitação ao Gemini.
Embasar as respostas do Gemini com o Exa
Solicite respostas embasadas do Gemini usando o SDK de IA generativa do Google ou a API REST. Para ter o 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 do Exa.
Python
Instalar
pip install --upgrade google-genai
Para mais informações, 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 ao modelo.
- API_KEY: sua chave de API para a pesquisa na Web do Exa.
- SEARCH_TYPE: opcional: o tipo de pesquisa do Exa
a ser executada. Os valores aceitos são
fasteinstant. O padrão éfast, que fornece resultados abrangentes com latência reduzida e é uma boa opção para pesquisa voltada 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 detrimento 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. 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 vêm 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 os destaques. Controla o tamanho 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,
5será usado como padrão para .
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 a Java.
Para mais informações, 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 ao modelo.
- API_KEY: sua chave de API para a pesquisa na Web do Exa.
- SEARCH_TYPE: opcional: o tipo de pesquisa do Exa
a ser executada. Os valores aceitos são
fasteinstant. O padrão éfast, que fornece resultados abrangentes com latência reduzida e é uma boa opção para pesquisa voltada 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 detrimento 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. 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 vêm 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 os destaques. Controla o tamanho 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,
5será usado como padrão para .
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 mais informações, 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 ao modelo.
- API_KEY: sua chave de API para a pesquisa na Web do Exa.
- SEARCH_TYPE: opcional: o tipo de pesquisa do Exa
a ser executada. Os valores aceitos são
fasteinstant. O padrão éfast, que fornece resultados abrangentes com latência reduzida e é uma boa opção para pesquisa voltada 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 detrimento 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. 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 vêm 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 os destaques. Controla o tamanho 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,
5será usado como padrão para .
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 as substituições a seguir:
- 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 ao modelo.
- API_KEY: sua chave de API para a pesquisa na Web do Exa.
- SEARCH_TYPE: opcional: o tipo de pesquisa do Exa
a ser executada. Os valores aceitos são
fasteinstant. O padrão éfast, que fornece resultados abrangentes com latência reduzida e é uma boa opção para pesquisa voltada 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 detrimento 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 provenientes 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 os destaques. Controla o tamanho 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,
5será usado como padrão para .
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.
Cota
A cota padrão é de 200 comandos por minuto. Se você precisar aumentar os limites de limitação de taxa, entre em contato com support@exa.ai e com a Equipe de Contas do Google, informando seu caso de uso e requisitos.
Faturamento
O uso do embasamento com o Exa gera as seguintes cobranças:
- Consumo de tokens do Gemini: tokens de comando, tokens de raciocínio e 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.