Deseño e avaliación dunha API de busca orientada á IA

Construír unha API de busca escalable que xestione 200 millóns de consultas diarias utilizando recuperación híbrida e comisaría intelixencia de contexto para modelos de IA

AutoresPerplexity Research

Construír unha API de busca escalable e orientada á intelixencia artificial presenta desafíos de investigación únicos na intersección da recuperación de información, a IA e o deseño de sistemas. A diferenza dos servizos tradicionais que operan con datos limitados, unha API de busca debe indexar continuamente miles de millóns de documentos, comprender a intención das consultas en varios idiomas e dominios, e mostrar resultados relevantes en milisegundos. Nun mundo de axentes de IA, unha API de busca tamén debe comisariar coidadosamente o contexto proporcionado aos modelos dos programadores para garantir que eses modelos funcionen de forma óptima e incorporen a información máis precisa posible. A enxeñaría de contexto efectiva require que a API non só capte a relevancia a nivel de documento, senón que trate as seccións individuais e os fragmentos dos documentos como unidades de primeira orde por dereito propio.

Neste artigo, presentamos o deseño e a avaliación da API de busca de Perplexity. Primeiro exploramos a arquitectura e as decisións técnicas clave detrás da nosa infraestrutura de busca de produción que procesa 200 millóns de consultas diarias. A nosa arquitectura combina mecanismos de recuperación híbridos, canalizacións de clasificación multietapa, indexación distribuida e análise dinámica a través dun módulo de comprensión de contido que se auto-mellora.

A continuación, describimos o noso enfoque para avaliar empiricamente o rendemento da API de busca mediante un marco de avaliación recentemente de código aberto. A través dunha avaliación comparativa exhaustiva xunto coas API comerciais existentes, demostramos un rendemento de vangarda tanto en calidade coma en latencia. A API de busca de Perplexity está dispoñible para programadores de todo o mundo a partir de hoxe.

[Atopar search_evals en GitHub]

Construír un sistema de busca optimizado para modelos de IA

Desde a nosa fundación, entendedores que unhas capacidades de busca robustas serían fundamentais para permitir os produtos de IA definitorios da súa categoría que queriamos lanzar. Orixinalmente, agardábamos que estas capacidades xa existisen nunha forma dispoñible publicamente. Experimentamos coa carteira de API de busca dispoñibles a finais de 2022, e a primeira versión do motor de respostas de Perplexity en realidade incorporaba algunhas destas ofertas. Concretamente, analizariamos as consultas dos usuarios, formulariamos e enviariamos solicitudes a estas API e recolleriamos os resultados como contexto para a nosa canalización de xeración posterior.

Non obstante, a medida que os usuarios acudían a Perplexity, decatámonos rapidamente de que estas API non iban a escalar co noso crecemento. Os prezos que atopamos eran exorbitantes, cun provedor de API líder cobrando 200 dólares por mil consultas. Pero o que é máis fatal, estas API herdadas simplemente non foron deseñadas para os novos paradigmas de recuperación introducidos polos sistemas de IA de vangarda.

Unha das primeiras versións do motor de respostas de Perplexity.

Para comezar, os formatos de solicitude e resposta destas API herdadas foron deseñados para un mundo no que os humanos serían os consumidores exclusivos dos resultados de busca. Como resultado, estas API priorizaron os resultados a nivel de documento, excluíndo información máis detallada revelada polas unidades subdocumentais. O éxito dun modelo de IA depende da calidade e compacidade do contexto proporcionado, e vimos de primeira man como unha recuperación demasiado ampla podía derrapar os modelos de IA, independentemente de que os documentos recuperados no seu conjunto parecesen relevantes. Os nosos intentos de impoñer precisión en resultados imprecisos tiveron un éxito limitado.

Tamén observamos que as API herdadas eran demasiado obsoletas ou demasiado lentas. As API de busca desenvoltas de forma independente dependían de índices incompletos e actualizados con pouca frecuencia. As API baseadas na extracción, como as varias API de SERP non oficiais para a Búsqueda de Google, beneficiáronse dun índice máis completo, pero ofreceron unha latencia inaceptablemente alta debido á ineficiencia inherente de consultar un motor de busca de terceiros. A alta latencia facía que as API non fosen axeitadas para aplicacións orientadas ao usuario, mentres que a obsolescencia facía que os conxuntos de resultados fosen inutilizables para calquera sistema de IA que agardase ser preciso e fiable.

Finalmente, observamos que o ecosistema de IA se bifurcaba entre a busca léxica e a busca semántica, con sistemas emerxentes que estaban sobre-optimizados para unha modalidade fronte á outra. Vimos o auxe das bases de datos vectoriais que nin sequera podían admitir adecuadamente filtros booleanos simples. As infraestruturas de busca tradicionais non o fixeron moito mellor, cun soporte primitivo para a clasificación semántica e as oportunidades de recuperación desbloqueadas pola IA.

Cando nos dimos conta de que mellorar aínda máis Perplexity requiriría construír a nosa propia infraestrutura de busca dedicada, destilamos as nosas observacións en tres criterios clave:

Completitude, frescura e velocidade: o índice de busca debe ser exhaustivo, actualizado constantemente e deseñado para unha latencia en tempo real.

Comprensión de contidos detallada: a fragilidade do modelo de IA e as ventás de contexto limitadas requiren que os resultados de busca se presenten e clasifiquen ao nivel máis granular posible.

Recuperación e clasificación híbridas: tanto a canalización de recuperación como a de clasificación deben incorporar sinais léxicos e semánticos para que os resultados sexan útiles para a IA.

Perplexity hoxe, impulsado pola nosa infraestrutura de busca a escala de internet agora dispoñible a través da API de busca de Perplexity.

Infraestrutura de rastrexo e indexación

Operar á escala de Perplexity require unha infraestrutura que poida mapear exhaustivamente a web e responder á súa evolución constante. O noso índice de busca rastrexa máis de 200.000 millóns de URL únicos, con capacidade para rastrexar moitos centos de miles de millóns máis.

Garantir que o noso índice cubra unha porción suficientemente ampla de internet e que cada documento reflicta o estado máis recente é unha fazaña difícil. Existe unha tensión inherente entre a completitude e a frescura: para un orzamento de indexación fixo, as operacións de actualización para as páxinas existentes deben competir coas operacións de indexación para as novas páxinas non visitadas. Equilibramos esta tensión mediante unha combinación de escalado (que relaxa a restrición de optimización ao aumentar o orzamento de indexación) e priorización impulsada por aprendizaxe automática (que garante que cada operación de indexación sexa o máximo de valiosa posible para o índice no seu conxunto).

Construímos un índice e un aparello de rastrexo a escala de exabites que escala horizontalmente tanto co tamaño como co volume de consultas. As flotas de rastrexo e indexación de Perplexity comprenden colectivamente decenas de miles de CPU e centos de terabytes de RAM, cunha marxe considerable para seguir escalando. Combinamos esta infraestrutura de computación cun equilibrio de almacenamento en frío e quente. Usamos tanto modelos aprendidos como heurísticas axustadas para determinar que documentos se deben manter quentes, priorizando documentos de dominios autorizados, documentos relacionados con temas pouco cubertos e outras categorías cun potencial desmedido para enriquecer o noso índice.

Esta infraestrutura permítelle a Perplexity procesar decenas de miles de operacións de indexación por segundo. Pero mesmo con este orzamento relativamente xeneroso, a escala de internet é demasiado vasta para indexar cada URL de forma frecuente e recorrente. aquí é onde entra en xogo a aprendizaxe automática. Adestramos un modelo de aprendizaxe automática para predicir se un URL candidato determinado necesita ser indexado. O obxectivo de adestramento está deseñado para garantir que calibremos a nosa decisión de indexación tanto coa importancia como coa frecuencia de actualización probable do URL específico. Tamén confiamos na aprendizaxe automática para que nos indique con precisión cando programar a operación de indexación. Para sitios con cadencias rutineiras de publicación e actualización, isto permítenos aprazar as operacións ata o punto no tempo en que sexan máis útiles. A través do refinamento continuo destes modelos de aprendizaxe automática, podemos manter un índice que cumpre co obxectivo tanto en completitude coma en frescura.

Aínda que a nosa infraestrutura de rastrexo escala facilmente de forma horizontal, somos conscientes de que os operadores de sitios web se enfrontan a diferentes restricións técnicas. Temos coidado de manter un ritmo de solicitudes previsible e xestionable para calquera dominio determinado. PerplexityBot, o noso rastreador de busca, cumpre cos límites explícitos establecidos nos ficheiros robots.txt ou, na ausencia de límites especificados polo dominio, coas normas estándar da industria sobre ritmos de solicitudes. Tamén axustamos o noso comportamento de rastrexo cando detectamos a indispoñibilidade dun sitio. O noso sistema distribuído está arquitectado para facer cumprir estes límites mesmo a través de decenas de miles de operacións concorrentes.

Comprensión de contidos que se auto-mellora a escala de internet

Mesmo cun dos índices de busca máis grandes e frescos do planeta, a calidade dos resultados de cada consulta depende da comprensión que o sistema teña do contido de cada documento. aquí enfrontámonos a un desafío fundamental: a web é un lugar desordenado. Ningún conxunto fixo de regras de análise pode xestionar a infinita variedade de deseños, estruturas e estilos atopados en todo internet.

Resolvimos este desafío desenvolvendo un módulo de comprensión de contido que analiza sitios web e extrae contido semanticamente significativo usando conxuntos de regras dinámicos. Un sitio web cargado de datos ben estruturados en forma de lista ou táboa pode beneficiarse de regras de análise e extracción máis formularias, mentres que outro sitio web que presente principalmente contido xerado polos usuarios de forma libre pode requirir un conxunto de regras máis flexible. Dado que a web é na súa maioría estática en marcos temporais curtos, atopamos que a vida útil dunha regra determinada é relativamente longa. Pero a medida que os sitios evolucionan co tempo e a medida que aprendemos máis sobre as mellores formas de extraer información, os nosos conxuntos de regras tamén requiren un mantemento continuo.

Para facilitar esta adaptación dinámica, recorremos (por suposto) á IA. á escala de Perplexity, observamos unha sección transversal da web incriblemente rica no transcurso de servir millóns de consultas de usuarios por hora. Isto forma a base dun bucle de auto-mellora iterativo. Observamos o comportamento de análise e as saídas extraídas dos nosos conxuntos de regras actuais en todo o noso universo de consultas. A continuación, usamos LLM de vangarda para avaliar o rendemento en dúas dimensións principais:

Completitude: o noso índice debería recibir tanto contido semanticamente significativo como sexa posible, evitando ao mesmo tempo a extracción espuria de material pouco informativo ou sen sentido.

Calidade: o noso índice baséase en contido de alta calidade tanto na substancia coma na forma. A información debe capturarse dun xeito que preserve a estrutura e o deseño do contido orixinal.

Teña en conta que a completitude e a calidade presentan outra tensión inherente: optimizar manualmente para a calidade é posible, pero as regras de análise resultantes poden non capturar contido crítico. De igual maneira, poderiamos codificar manualmente regras permisivas que apliquen un filtrado mínimo ao contido bruto, o que podería mellorar a completitude pero a costa da calidade. É por iso que recorremos á auto-mellora impulsada pola IA para evolucionar o noso conxunto de regras dun xeito que poida optimizar ambas á vez dun xeito adaptativo ao dominio.

Concretamente, despois de cada avaliación do rendemento de análise impulsada por LLM, o noso sistema formula un conxunto de cambios propostos no conxunto de regras para abordar as clases de erro máis significativas. Estes conxuntos de regras pasan por unha maior validación, despois da cal despregamos a nova versión no noso indexador. Dado que as melloras na lóxica de análise e extracción só poden beneficiar as futuras operacións de indexación, os nosos investimentos na reindexación optimizada pola aprendizaxe automática son especialmente importantes: actualizar continuamente os documentos de alto tráfico usando a última versión desta lóxica garante un bucle de auto-mellora axustado.

Estas regras importan non só para o rendemento de análise de referencia, senón tamén para a segmentación en unidades subdocumentais. Cando se trata de LLM de vangarda, cada token de contexto é precioso. Un gran corpo de traballo previo documentou como o rendemento dos LLM se degrada co aumento do tamaño do contexto e a contaminación do contexto con información irrelevante. Dispoñer dunha análise ben estruturada e exhaustiva permítenos descomppoñer os documentos en tramos autónomos, cada un dos cales se pode recuperar e clasificar individualmente no momento da consulta.

Canalización de recuperación e clasificación

A busca moderna require garantir tanto a completitude como a relevancia cun orzamento de latencia axustado. A canalización de recuperación e clasificación de Perplexity consegue isto mediante unha arquitectura multietapa que refina progresivamente os resultados cunha serie de módulos cada vez máis sofisticados. Resolvemos os posibles golas de botella escalando horizontalmente calquera posible punto de estrangulamento na máxima medida posible.

A canalización comeza coa recuperación do noso índice. Non impoñemos unha elección entre a recuperación léxica e a semántica. Pola contra, consultamos o índice de busca a través de ambas modalidades e fusionamos os resultados nun conxunto de candidatos híbrido. Nesta etapa, a prioridade é a exhaustividade por diante da precisión; as etapas posteriores da canalización optimizarán para a precisión.

A canalización continúa con etapas de prefiltrado, nas que aplicamos heurísticas básicas e filtros iniciais para eliminar o contido claramente non responsivo ou obsoleto do conxunto de candidatos.

A continuación, empregamos múltiples etapas de clasificación progresivamente avanzada. As etapas anteriores confían en puntuadores léxicos e baseados en incrustacións optimizados para a velocidade. A medida que o conxunto de candidatos se reduce gradualmente, usamos modelos de reclassificación de codificadores cruzados máis potentes para realizar a escultura final do conxunto de resultados. Grazas aos nosos numerosos investimentos no rendemento de inferencia, podemos aproveitar arquitecturas de modelos de vangarda para estas etapas posteriores mentres mantemos baixa a latencia xeral de clasificación.

Ao longo desta canalización, recuperamos e puntuamos resultados tanto a nivel de documento como de subdocumento. Como se discutiu anteriormente, a IA require unha coidada enxeñaría de contexto. A nosa canalización está deseñada para mostrar as unidades máis atómicas posibles ao modelo, de modo que os consumidores posteriores poidan incorporar eses compoñentes precisos sen arrastrar contexto irrelevante doutras partes dos documentos de orixe.

Garantir unha alta calidade ao longo de cada etapa desta canalización só é posible mediante o co-deseño coa carteira de produtos de Perplexity. Cada detalle da pila de clasificación está deseñado para aproveitar o rico sinal producido polos millóns de solicitudes de usuarios que servimos cada hora do día. A gran maioría deste sinal está automatizada, e cada resposta de Perplexity xerada proporciona un dato empírico sobre a calidade da busca tal como se usa nun fluxo de traballo agéntico en directo. Combinamos avaliacións impulsadas pola IA con comentarios humanos en directo para enriquecer os datos de adestramento para os nosos modelos de incrustación e clasificación moito máis aló do que calquera conxunto de datos construído manualmente pode ofrecer.

Esta sinerxía entre a busca e o produto é única en Perplexity. Os motores de busca herdados están limitados ao sinal groso proporcionado pola telemetría de ligazóns azuis. As ofertas de busca máis novas tentaron implementar algúns destes conceptos orientados á IA, pero carecen de contornos do mundo real que poidan validar a calidade da busca e proporcionar a riqueza de sinal necesaria para os bucles de mellora rápida. Temos a sorte de contar co ingrediente misterioso: un terreo de proba en directo para a calidade da busca, impulsado por LLM de vangarda e probado continuamente en batalla por millóns de usuarios curiosos de todo o mundo.

Estabelecendo unha nova fronteira para a calidade e o rendemento

Despois de construír a API de busca de Perplexity e o SDK para poñer a nosa infraestrutura de busca a disposición dos programadores de todo o mundo, queriamos comprender como se comparaban as varias ofertas de API comerciais nos casos de uso de IA do mundo real. Volveuse habitual avaliar os modelos de IA en si mesmos, pero necesitabamos un xiro neste patrón: avaliar a calidade das API de busca cando son invocadas polos modelos de IA.

Primeiro miramos o ecosistema de código aberto para comprender o traballo previo. Atopamos moitos dos ingredientes clave para unha avaliación rigorosa, pero ningún marco que integrase estes ingredientes nunha solución de avaliación comparativa plug-and-play. Por conseguinte, propuxémonos desenvolver un marco de avaliación que puidese ser usado non só por Perplexity, senón por calquera investigador ou programador que busque avaliar as API de busca.

Usando este marco de avaliación, realizamos unha avaliación comparativa rigorosa da API de busca de Perplexity xunto con outras ofertas. Optimizar o rendemento da busca é complexo, con moitos compromisos matizados entre a calidade e a velocidade. Nunha vitoria para os programadores, descubrimos que a API de busca de Perplexity establece un novo estándar de vangarda tanto para a calidade coma para a latencia. Os programadores xa non necesitan elixir entre construír aplicacións ultrarrápidas e garantir resultados de alta calidade: con Perplexity, poden ter ambas cousas.

Calidade da busca fronte á latencia en SimpleQA, FRAMES, BrowseComp e HLE.

Deseñando avaliacións fiables para os fluxos de traballo de busca agéntica

Comezamos definindo tres principios rectores para o noso marco de avaliación:

Espectro de complexidade: o marco de avaliación debe medir o rendemento tanto en casos de uso de IA agéntica sinxelos como complexos.

Neutralidade: o marco de avaliación debe avaliar todas as API en igualdade de condicións.

Simlicidade: aínda que certos casos de uso poidan ser complexos, o marco en si debe ser o máis sinxelo posible para que outros poidan comprendelo, reproducir os resultados e ampliar o marco cunha cantidade mínima de tedio.

O noso marco de avaliación lixeiro, search_evals, atinxle estes obxectivos mediante un deseño modular sinxelo. Desenvolvemos dous arneses de axentes de IA para capturar tanto os casos de uso de busca dun só disparo clásicos como os fluxos de traballo agénticos avanzados (exemplificados por varios produtos de "investigación profunda" amplamente dispoñibles no mercado de consumo). Ambos arneses implementáronse dun xeito directo que deixa pouco espazo para vantaxes ocultas.

Para impulsar as nosas avaliacións, adoptamos catro puntos de referencia: SimpleQA e FRAMES para a busca dun só paso, xunto con BrowseComp e HLE para a investigación profunda. Colectivamente, estes puntos de referencia proporcionan medidas ben aceptadas para os axentes de coñecemento. Seguindo a convención estabelecida, cualificamos todas as avaliacións comparativas utilizando a mesma metodoloxía de clasificador impulsado utilizada no traballo orixinal. As implementacións exactas de referencia (incluínta a lóxica de calquera cualificador) pódense revisar no noso repositorio de GitHub.

Deseñamos o marco tendo en conta a reproductibilidade e a extensibilidade. Tanto as puntuacións a nivel de tarefa como as saídas subxacentes dos axentes almacénanse con cada execución. Pódense integrar facilmente arneses, puntos de referencia e ofertas de API de busca adicionais. Os investigadores e programadores poden ler os documentos de GitHub para obter máis información sobre como ampliar o marco para abordar as súas necesidades precisas.

Resultados da avaliación

Armados con este marco de avaliación, propuxémonos avaliar a nosa API de busca en comparación con outras ofertas de API. En todas as avaliacións comparativas probadas, Perplexity sitúase como a API máis rápida e de maior calidade do mercado.

Latencia das consultas nos percentís p50, p75 e p95 entre provedores de busca.

Descubrimos que os nosos investimentos descritos anteriormente na eficiencia do índice, a recuperación e a clasificación deron grandes froitos. A latencia mediana de Perplexity sitúase en 358 ms, máis de 150 ms por diante do segundo provedor máis rápido. A latencia no percentil 95 manténse cómodamente por abaixo dos 800 ms. Coas longas métricas de TTFT (tempo ata o primeiro token) dos modelos de vangarda actuais, cada milisegundo importa para crear experiencias de usuario agradables. Pasamos os últimos dous anos optimizando a latencia para os nosos propios usuarios, e estamos agradecidos de que eses mesmos investimentos agora beneficien tamén á comunidade de programadores.

Latencia da API de busca

(solicitudes iniciadas desde AWS us-east-1)

p50

p75

p90

p95

Perplexity

358ms

443ms

604ms

763ms

Exa

1375ms

1499ms

1798ms

2188ms

Brave

513ms

637ms

728ms

808ms

Baseado en SERP*

1342ms

1586ms

1743ms

1790ms

Percentiles de latencia da Search API para solicitudes iniciadas desde AWS us-east-1.

* Moitos provedores de API de busca utilizan a extracción de SERP como base para os seus resultados. Para capturar o rendemento destes enfoques, utilizamos unha API representativa baseada en SERP de Google ofrecida por Tavily.

Esta vantaxe de velocidade non se produce a costa da calidade. A API de busca de Perplexity produce un rendemento de vangarda tanto en configuracións de busca dun só paso como de investigación profunda. En cada punto de referencia probado, Perplexity lidera o grupo na provisión de resultados de alta calidade que poden alimentar os fluxos de traballo de IA de complexidade variada. A marxe entre Perplexity e a mellor alternativa é especialmente pronunciada en SimpleQA e HLE, o que indica que estes resultados son robustos en todo o espectro de complexidade das tarefas.

Puntuacións de calidade da busca nos benchmarks de busca de un só paso SimpleQA e FRAMES e nos benchmarks de investigación profunda BrowseComp e HLE.

Do mesmo xeito que coa latencia, o noso liderado na calidade da busca flúe do noso liderado na construción de produtos de IA agradables e moi traficados. Os nosos millóns de usuarios usan Perplexity para satisfacer a súa curiosidade sobre calquera tema imaxinable, e os sinais de calidade e relevancia resultantes permiten que os nosos modelos de busca melloren con cada hora que pasa.

Puntos de referencia de calidade da API de busca

Busca dun só paso

Investigación profunda

SimpleQA

FRAMES

BrowseComp

HLE

Perplexity

.930

.453

.371

.288

Exa

.781

.399

.265

.242

Brave

.822

.320

.221

.191

Baseado en SERP*

.890

.437

.348

.248

Puntuacións de calidade da Search API en SimpleQA, FRAMES, BrowseComp e HLE.

Aínda estamos nos primeiros días dos motores de busca nativos de IA, e a arte e a ciencia da medición sen dúbida evolucionarán. Invitamos á comunidade a contribuír desenvolvendo métodos rigorosos e creativos para avaliar os motores de busca na era dos axentes de IA.

O bloque de construción para o seguinte capítulo da IA

O futuro dos sistemas agénticos e dos asistentes intelixentes dependerá da dispoñibilidade de interfaces programáticas ricas no coñecemento colectivo do mundo. Os motores de busca herdados de hoxe saturaron o seu uso en aproximadamente 10¹⁰ consultas ao día, unha cifra que probablemente chegou ao seu pico. A próxima xeración de sistemas de busca e recuperación atenderá ordes de magnitude máis solicitudes, xa que un universo en constante crecemento de axentes de IA confía neles para obter información precisa en tempo real.

Os nosos esforzos ata a data posionáronnos como o motor de busca máis rápido e de maior rendemento accesible a través da API. Pero requirirase unha innovación aínda máis ambiciosa para que poidamos alimentar o seguinte capítulo da IA. Como escalamos eficientemente estes sistemas ante unha demanda en constante aumento? Como se poden optimizar estes sistemas de busca á luz de enfoques novidosos para a enxeñaría de contexto e a posadestramentos? E como navegamos pola tensión sempre presente entre a completitude, a recencia e a latencia? Estas son preguntas abertas que Perplexity, coa nosa combinación de pegada de produto, escala e talento técnico, está nunha posición única para abordar.

Cita

BibTeX
@online{perplexity2025ArchitectingAndEvaluatingAnAiFirstSearchApi,
  author = {{Perplexity} and Aleksandr Bogutskii and Aleksandr Nikolenko and Aleksei Bykov and Alexander Pecheny and Alexandr Yarats and Arsenii Shevchenko and Denis Bykov and Dmitry Pervukhin and Ismail Gadzhiev and James Liounis and Kevin Hu and Kirill Priemko and Maksim Gaiduk and Maksim Morozov and Marko Kevac and Michael Liang and Mikhail Galanin and Nandor Licker and Nataliya Pevgova and Nikita Kireev and Nikolai Tretiak and Paul Schofield and Saif Ali Raja and Saleh Alghusson and Sebastian Sepulveda and Sergei Miller and Svyatoslav Feldsherov and Vitalii Polshkov and Vladimir Zaytsev and Denis Yarats},
  title = {{Architecting and evaluating an AI-first Search API}},
  date = {2025-09-25},
  url = {https://www.perplexity.ai/hub/blog/architecting-and-evaluating-an-ai-first-search-api}
}