Filtro de Recência da API Perplexity Retorna Fontes Antigas: Solução
🔍 WiseChecker

Filtro de Recência da API Perplexity Retorna Fontes Antigas: Solução

Ao definir um filtro de recência na API Perplexity para limitar resultados à última semana ou mês, a API pode ainda retornar fontes antigas. Isso anula o propósito do filtro e pode fazer sua aplicação parecer desatualizada. O problema é causado por como a API lida com o parâmetro de recência em combinação com certos domínios de pesquisa e versões de modelo. Este artigo explica a causa raiz do filtro não funcionar e fornece uma correção passo a passo para garantir que a API retorne apenas fontes recentes.

Principais Conclusões: Filtro de Recência da API Perplexity Não Funciona

  • Parâmetro recency no corpo da requisição: Deve ser definido com um valor válido como “day”, “week”, “month” ou “year” para limitar a idade das fontes.
  • Parâmetro search_domain: Deve ser definido como “internet” ou deixado vazio para que a recência seja aplicada; o domínio “academic” ignora a recência.
  • Verificação da versão do modelo: Use o modelo “sonar-pro” ou “sonar-small” para comportamento consistente de recência; modelos antigos podem ignorar o parâmetro.

ADVERTISEMENT

Por que o Filtro de Recência da API Perplexity Falha

A API Perplexity aceita um parâmetro recency no corpo da requisição que deve restringir as fontes a uma janela de tempo específica. Quando esse parâmetro não funciona, uma de três condições geralmente é responsável.

Primeiro, o parâmetro recency diferencia maiúsculas de minúsculas e deve ser um dos valores exatos de string: day, week, month ou year. Qualquer outro valor ou um erro de digitação faz com que a API ignore completamente o filtro e retorne todas as fontes, independentemente da idade.

Segundo, o parâmetro search_domain pode substituir o filtro de recência. Quando search_domain é definido como academic, a API pesquisa em artigos acadêmicos e bancos de dados que podem não ter datas de publicação confiáveis. Nesse modo, o filtro de recência não é aplicado, e a API retorna quaisquer fontes que correspondam à consulta, independentemente da data de publicação.

Terceiro, versões antigas do modelo da API Perplexity não suportam o parâmetro de recência. Os modelos sonar-pro e sonar-small suportam filtragem por recência. Modelos antigos como pplx-7b-online ou pplx-70b-online ignoram o parâmetro silenciosamente.

Passos para Fazer o Filtro de Recência Funcionar Corretamente

Siga estes passos em ordem para garantir que suas chamadas à API respeitem o filtro de recência. Cada passo aborda uma das causas raiz descritas acima.

  1. Verifique o valor do parâmetro recency
    Abra o corpo da sua requisição e localize o campo recency. Confirme que o valor é exatamente um dos seguintes: day, week, month ou year em minúsculas. Corrija quaisquer erros de digitação ou maiúsculas/minúsculas. Exemplo: "recency": "week".
  2. Defina search_domain como internet ou remova-o
    Se sua requisição incluir search_domain, defina-o como internet ou remova o parâmetro completamente. Não use academic se precisar de filtragem por recência. Exemplo: "search_domain": "internet".
  3. Atualize o modelo para sonar-pro ou sonar-small
    Altere o campo model em sua requisição para sonar-pro ou sonar-small. Estes são os modelos atuais que suportam filtragem por recência. Exemplo: "model": "sonar-pro".
  4. Envie uma requisição de teste
    Envie uma consulta simples como “últimas notícias sobre IA” com recency definido como day. Inspecione a resposta e verifique os campos created_at ou published_date em cada objeto de fonte. Todas as datas devem estar dentro das últimas 24 horas.
  5. Registre a resposta para depuração
    No código da sua aplicação, registre a resposta completa da API após cada requisição. Procure pelo array sources e verifique o campo published_date de cada fonte. Se alguma fonte for mais antiga que a janela de recência, o filtro ainda não está funcionando.

ADVERTISEMENT

Se o Filtro de Recência Ainda Retornar Fontes Antigas

“Estou usando sonar-pro mas ainda vejo fontes antigas”

O modelo sonar-pro suporta filtragem por recência, mas também possui um comportamento de fallback. Se a API não encontrar fontes recentes suficientes para uma consulta, ela pode incluir fontes mais antigas para atingir o número mínimo de fontes. Isso é proposital para evitar respostas vazias. Para mitigar isso, torne sua consulta mais específica para o período recente. Por exemplo, em vez de “tendências de machine learning”, use “tendências de machine learning 2024”.

“O parâmetro recency está definido, mas a resposta da API não tem o campo published_date”

Algumas fontes na resposta podem não ter o campo published_date. Isso acontece quando a fonte é um PDF, uma postagem em fórum ou uma página sem um carimbo de data/hora claro de publicação. A API ainda inclui essas fontes mesmo que sejam antigas porque não consegue determinar sua idade. Nesse caso, filtre as fontes em sua aplicação verificando se o campo published_date existe e se está dentro da janela desejada.

“Estou usando o domínio acadêmico e preciso de artigos recentes”

O domínio acadêmico não suporta filtragem por recência porque muitos artigos acadêmicos não possuem datas de publicação confiáveis. Para obter fontes acadêmicas recentes, use o domínio internet e adicione a palavra “recente” ou o ano atual à sua consulta. Por exemplo, “estudos recentes sobre computação quântica 2024”. Isso força a API a pesquisar na web geral por artigos recentes que mencionem trabalhos acadêmicos.

Item Funciona com Recência Ignora Recência
Modelo sonar-pro, sonar-small pplx-7b-online, pplx-70b-online
Domínio de pesquisa internet (ou nenhum domínio) academic
Valor de recency day, week, month, year qualquer outro valor ou erro de digitação

A conclusão é direta. Para corrigir o filtro de recência na API Perplexity, use o modelo sonar-pro ou sonar-small, defina search_domain como internet e passe um valor válido de recency. Se ainda vir fontes antigas, adicione um pós-filtro em sua aplicação que verifique o campo published_date. Para uso avançado, considere definir o valor de recency como day e anexar o ano atual à sua consulta para restringir ainda mais os resultados.

ADVERTISEMENT