Arkitekturere og evaluere en AI-først søke-API
Bygger en skalerbar søke-API som håndterer 200 millioner daglige søk ved hjelp av hybrid innhenting og intelligent kontekstkuratering for AI-modeller
Å bygge en skalerbar, AI-fokusert søke-API utgjør unike forskningsutfordringer i krysningspunktet mellom informasjonsinnhenting, kunstig intelligens og systemdesign. I motsetning til tradisjonelle tjenester som opererer på avgrensede data, må en søke-API kontinuerlig indeksere milliarder av dokumenter, forstå intensjonen bak søk på tvers av språk og domener, og levere relevante resultater i løpet av millisekunder. I en verden med AI-agenter må en søke-API også nøye kuratere konteksten som gis til utvikleres modeller for å sikre at modellene yter optimalt og innlemmer mest mulig nøyaktig informasjon. Effektiv kontekstteknik krever at API-et ikke bare fanger opp relevans på dokumentnivå, men behandler individuelle seksjoner og utsnitt av dokumenter som førsteklasses enheter i seg selv.
I denne artikkelen presenterer vi designet og evalueringen av Perplexity Search API. Først utforsker vi arkitekturen og de viktige tekniske beslutningene bak vår produksjonssøkeinfrastruktur som behandler 200 millioner daglige søk. Arkitekturen vår kombinerer hybride innhentingsmekanismer, flertrinns rangeringspipeliner, distribuert indeksering og dynamisk parsing gjennom en selvforbedrende innholdsforståelsesmodul.
Deretter beskriver vi vår tilnærming til empirisk evaluering av søke-API-ets ytelse gjennom et nylig åpen kildekode-basert evalueringsrammeverk. Gjennom omfattende benchmarking ved siden av eksisterende kommersielle API-er demonstrerer vi banebrytende ytelse på både kvalitet og ventetid. Perplexity Search API er tilgjengelig for utviklerne verden over fra og med i dag.
Bygge et søkesystem som er optimalisert for AI-modeller
Helt siden grunnleggelsen har vi forstått at robuste søkefunksjoner ville være kritiske for å muliggjøre de kategoridefinerende AI-produktene vi ønsket å lansere. Opprinnelig håpet vi at disse funksjonene allerede fantes i en offentlig tilgjengelig form. Vi eksperimenterte med porteføljen av søke-API-er som var tilgjengelig sent i 2022, og den aller første versjonen av Perplexitys svarmaskin innlemmet faktisk noen av disse tilbudene. Nærmere bestemt analyserte vi brukerspørsmål, formulerte og sendte forespørsler til disse API-ene, og samlet inn resultatene som kontekst for vår nedstrøms genereringspipeline.
Men da brukere strømmet til Perplexity, innså vi raskt at disse API-ene ikke kom til å skalere i takt med veksten vår. Prisene vi møtte var ekstreme, der en ledende API-leverandør tok 200 dollar per tusen søk. Men enda mer skjebnesvangert var det at disse eldre API-ene rett og slett ikke var designet for de nye innhentingsparadigmene som ble introdusert av avanserte AI-systemer.
Til å begynne med var forespørsels- og responsformatene til disse eldre API-ene designet for en verden der mennesker ville være de eksklusive forbrukerne av søkeresultater. Som et resultat prioriterte disse API-ene resultater på dokumentnivå, og utelot mer finkornede informasjonsbiter som ble avdekket av underdokumentenheter. Suksessen til en AI-modell avhenger av kvaliteten og kompaktheten til den medfølgende konteksten, og vi så på nært hold hvordan altfor bred innhenting kunne avspore AI-modeller, uavhengig av hvor relevante de innhentede dokumentene som helhet så ut til å være. Våre forsøk på å presse inn presisjon i upresise resultater ga begrenset suksess.
Vi observerte også at de eldre API-ene enten var for utdaterte eller for trege. Uavhengig utviklede søke-API-er stolte på indekser som var ufullstendige og altfor sjeldent oppdatert. Skrapingsbaserte API-er, som de ulike uoffisielle SERP-API-ene for Google Search, nøt godt av en mer omfattende indeks, men bød på uakseptabelt høy ventetid på grunn av ineffektiviteten som ligger i å spørre et tredjepartssøkeverktøy. Høy ventetid gjorde API-ene uegnet for brukerrettede applikasjoner, mens utdaterte data gjorde resultatsettene ubrukelige for ethvert AI-system som håpet å være nøyaktig og pålitelig.
Til slutt observerte vi at AI-økosystemet delte seg i to mellom leksikalsk søk og semantisk søk, med framveksten av systemer som var overoptimalisert for den ene modaliteten fremfor den andre. Vi så fremveksten av vektordatabaser som ikke en gang klarte å støtte enkle boolske filtre på en tilfredsstillende måte. Tradisjonelle søkebakender gjorde det knapt bedre, med primitiv støtte for de semantiske rangerings- og innhentingsmulighetene som ble åpnet opp av AI.
Da vi innså at det å gjøre Perplexity enda bedre ville kreve at vi bygde vår egen dedikerte søkeinfrastruktur, koker vi observasjonene våre ned til tre nøkkelkriterier:
Fullstendighet, ferskhet og hastighet: søkeindeksen må være omfattende, konstant oppdatert og tilpasset sanntidsventetid.
Finkornet innholdsforståelse: skøyeraktige AI-modeller og begrensede kontekstvinduer krever at søkeresultater presenteres og rangeres på et så granulært nivå som mulig.
Hybrid innhenting og rangering: både innhentings- og rangeringspipelinene må innlemme leksikalske og semantiske signaler for at resultatene skal være nyttige for AI.
Indekserings- og gjennomkjemningsinfrastruktur
Å operere i Perplexity-skala krever infrastruktur som helhetlig kan kartlegge nettet og svare på dets konstante utvikling. Søkeindeksen vår sporer over 200 milliarder unike URL-er, med kapasitet til å spore mange hundre milliarder til.
Å sikre at indeksen vår dekker en tilstrekkelig omfattende del av internett, og at hvert dokument gjenspeiler den nyeste tilstanden, er en vanskelig prestasjon. Det eksisterer en iboende spenning mellom fullstendighet og ferskhet: for et fast indekseringsbudsjett må oppfriskningsoperasjoner for eksisterende sider konkurrere med indekseringsoperasjoner for nye, uleste sider. Vi balanserer denne spenningen gjennom en kombinasjon av skalering (som letter optimaliseringsbegrensningen ved å øke indekseringsbudsjettet) og ML-drevet prioritering (som sikrer at hver indekseringsoperasjon er mest mulig verdifull for indeksen som helhet).
Vi har bygget en indeks- og gjennomkjemningsapparat i eksabyskala som skalerer horisontalt med både størrelse og spørringsvolum. Perplexitys gjennomkjemnings- og indekseringsflåter omfatter til sammen titusenvis av CPU-er og hundrevis av terabyte med RAM, med betydelig spillerom for ytterligere skalering. Vi forener denne databehandlingsinfrastrukturen med en balanse mellom kald og varm lagring. Vi bruker både innlærte modeller og finjusterte heuristikker for å avgjøre hvilke dokumenter som skal holdes varme, der vi prioriterer dokumenter fra autoritative domener, dokumenter som omhandler underbelyste emner, og andre kategorier med et enormt potensial til å berike indeksen vår.
Denne infrastrukturen gjør det mulig for Perplexity å behandle titusenvis av indekseringsoperasjoner i sekundet. Men selv med dette relativt sjenerøse budsjettet er internettets skala altfor stor til å indeksere hver eneste URL på en hyppig og tilbakevendende basis. Det er her maskinlæring kommer inn. Vi trener en ML-modell til å forutsi om en gitt kandidat-URL må indekseres. Treningsmålet er utformet for å sikre at vi kalibrerer indekseringsbeslutningen vår i henhold til både viktigheten og den sannsynlige oppdateringsfrekvensen til den spesifikke URL-en. Vi stoler også på maskinlæring for å fortelle oss nøyaktig når vi skal planlegge indekseringsoperasjonen. For nettsteder med rutinemessige publiserings- og oppfriskningssykluser tillater dette oss å utsette operasjoner til det tidspunktet de sannsynligvis vil være mest nyttige. Gjennom kontinuerlig finpussing av disse ML-modellene klarer vi å opprettholde en indeks som treffer blink på både fullstendighet og ferskhet.
Selv om gjennomkjemningsinfrastrukturen vår enkelt skalerer horisontalt, er vi klar over at nettstedoperatører møter ulike tekniske begrensninger. Vi er nøye med å opprettholde en forutsigbar og håndterbar forespørselstakt til ethvert gitt domene. PerplexityBot, vår søkegjennomkjemper, overholder eksplisitte grenser som er fastsatt i robots.txt-filer, eller i mangel av domenespesifikke grenser, bransjestandardnormer angående forespørselstakt. Vi justerer også gjennomkjemningsadfærden vår når vi oppdager at nettstedet ikke er tilgjengelig. Det distribuerte systemet vårt er arkitekturert for å håndheve disse grensene selv på tvers av titusenvis av samtidige operasjoner.
Selvforbedrende innholdsforståelse i internetskala
Selv med en av de største og ferskeste søkeindeksene på planeten, avhenger resultatvaliteten for hver forespørsel av systemets forståelse av innholdet i hvert dokument. Her står vi overfor en fundamental utfordring: Internett er et rotete sted. Intet fast sett med parseringsregler kan håndtere den uendelige variasjonen av oppsett, strukturer og stiler som finnes på tvers av hele internett.
Vi løste denne utfordringen ved å utvikle en innholdsforståelsesmodul som parser nettsteder og trekker ut semantisk meningsfullt innhold ved hjelp av dynamiske regelsett. Et nettsted med mye godt strukturert data i liste- eller tabellform kan ha nytte av mer formelmessige parserings- og uttrekkregler, mens et annet nettsted som primært inneholder fritt generert brukerinnhold kan kreve et løsere regelsett. Fordi nettet for det meste er statisk over korte tidsrammer, opplever vi at levetiden til en gitt regel er relativt lang. Men ettersom nettsteder utvikler seg over tid og etter hvert som vi lærer mer om de beste måtene å trekke ut informasjon på, krever regelsettene våre også kontinuerlig luking.
For å legge til rette for denne dynamiske tilpasningen tyr vi (selvfølgelig) til kunstig intelligens. I Perplexitys skala observerer vi et utrolig rikt tverrsnitt av nettet i løpet av å betjene millioner av brukerforespørsler hver time. Dette danner grunnlaget for en iterativ selvforbedringssløyfe. Vi observerer parseringsadfærden og de uttrukne resultatene til våre nåværende regelsett på tvers av søkeuniversene våre. Deretter bruker vi avanserte LLM-er til å vurdere ytelsen på tvers av to primære dimensjoner:
Fullstendighet: indeksen vår bør motta så mye semantisk meningsfullt innhold som mulig, samtidig som vi unngår uønsket uttrekking av informasjonsløst eller meningsløst materiale.
Kvalitet: indeksen vår er avhengig av innhold som holder høy kvalitet i både substans og form. Informasjon bør fanges opp på en måte som bevarer det opprinnelige innholdets struktur og oppsett.
Legg merke til at fullstendighet og kvalitet representerer en annen iboende spenning: manuell optimalisering for kvalitet er mulig, men de resulterende parseringsreglene klarer kanskje ikke å fange opp kritisk innhold. På samme måte kan vi håndkode tillatende regler som bruker minimal filtrering på det rå innholdet, noe som kan forbedre fullstendigheten, men på bekostning av kvaliteten. Dette er grunnen til at vi tyr til AI-drevet selvforbedring for å utvikle regelsettet vårt på en måte som kan optimalisere for begge deler samtidig på en domenetilpasset måte.
Konkret, etter hver LLM-drevne vurdering av parseringsytelse, formulerer systemet vårt et sett med foreslåtte regelsettendringer for å adressere de mest betydningsfulle feilklassene. Disse regelsettene gjennomgår ytterligere validering, hvorpå vi distribuerer den nye versjonen til indeksereren vår. Gitt at forbedringer i parserings- og uttrekkslogikk bare kan komme fremtidige indekseringsoperasjoner til gode, er våre investeringer i ML-optimalisert reindeksering spesielt viktige: kontinuerlig oppfriskning av dokumenter med mye trafikk ved hjelp av den nyeste versjonen av denne logikken sikrer en stram selvforbedringssløyfe.
Disse reglene har ikke bare betydning for grunnleggende parseringsytelse, men også for segmentering i underdokumentenheter. Når det gjelder avanserte LLM-er, er hver token av kontekst dyrebar. Et omfattende arbeid fra tidligere har dokumentert hvordan LLM-ytelsen svekkes med økning i kontekststørrelse og forurensning av kontekst med irrelevant informasjon. Å ha godt strukturert, omfattende parsing gjør at vi kan dekomponere dokumenter i selvstendige utsnitt, som hver for seg kan hentes inn og rangeres individuelt ved søketidspunktet.
Innhentings- og rangeringspipeline
Moderne søk krever sikring av både fullstendighet og relevans under et stramt ventetidsbudsjett. Perplexitys innhentings- og rangeringspipeline oppnår dette gjennom en flertrinns arkitektur som gradvis foredler resultater med en rekke stadig mer sofistikerte moduler. Vi løser potensielle flaskehalser ved å skalere potensielle trengselspunkter horisontalt i størst mulig grad.
Pipelinene starter med innhenting fra indeksen vår. Vi tvinger ikke frem et valg mellom leksikalsk og semantisk innhenting. Snarere spør vi søkeindeksen via begge modalitetene og slår sammen resultatene til et hybrid kandidatsett. På dette stadiet er prioriteten omstendelighet fremfor presisjon – påfølgende stadier av pipelinene vil optimalisere for presisjon.
Pipelinene fortsetter med prefiltreringsstadier, der vi bruker grunnleggende heuristikker og første-generasjons filtre for å fjerne åpenbart ikke-reagerende eller utdatert innhold fra kandidatsettet.
Vi benytter deretter flere stadier av gradvis avansert rangering. Tidligere stadier stoler på leksikalske og innleiring-baserte poengsummer som er optimalisert for hastighet. Etter hvert som kandidatsettet gradvis tynnes ut, bruker vi kraftigere krysskodende omrangeringsmodeller til å utføre den endelige utformingen av resultatsettet. Takket være våre tallrike investeringer i slutningsytelse kan vi utnytte toppmoderne modellarkitekturer for disse senere stadiene samtidig som vi holder den totale rangeringsventetiden lav.
Gjennom denne pipelinene henter og skårer vi resultater på både dokument- og underdokumentnivå. Som diskutert ovenfor krever AI nøye kontekstteknik. Pipelinene vår er designet for å levere de mest atomiske enhetene som mulig til modellen, slik at nedstrømsforbrukere kan innlemme disse presise enhetene uten å trekke inn irrelevant kontekst fra andre steder i kildedokumentene.
Å sikre høy kvalitet gjennom hvert trinn i denne pipelinene er bare mulig gjennom samdesign med Perplexitys produktportefølje. Hver eneste detalj i rangeringsstakken er designet for å utnytte det rike signalet som produseres av de millioner av brukerforespørslene vi betjener hver time på døgnet. De aller fleste av disse signalene er automatiserte, der hvert genererte Perplexity-svar gir et empirisk datapunkt om søkekvalitet slik det brukes i en live agentisk arbeidsflyt. Vi kombinerer AI-drevne evalueringer med levende menneskelig tilbakemelding for å berike treningsdataene for våre innleirings- og rangeringsmodeller langt utover det et manuelt konstruert datasett kan tilby.
Denne synergien mellom søk og produkt er unik for Perplexity. Eldre søkemotorer er begrenset til det grove signalet fra blå-lenke-telemetri. Nyere søketilbud har forsøkt å implementere noen av disse AI-framoverlent konseptene, men de mangler virkelige miljøer som kan validere søkekvalitet og tilby den rikdommen av signaler som trengs for raske forbedringssløyfer. Vi er heldige som har den manglende ingrediensen: en levende testarena for søkekvalitet, drevet av avanserte LLM-er og kontinuerlig kampsprovd av millioner av nysgjerrige brukere verden over.
Etablerer en ny grense for kvalitet og ytelse
Etter å ha bygget Perplexity Search API og SDK for å gjøre søkeinfrastrukturen vår tilgjengelig for utviklere over hele verden, ønsket vi å forstå hvordan de ulike kommersielle API-tilbudene klarte seg i virkelige AI-brukstilfeller. Det har blitt vanlig å evaluere selve AI-modellene, men vi trengte en vri på dette mønsteret: å evaluere kvaliteten på søke-API-er når de kalles opp av AI-modeller.
Vi så først til økosystemet med åpen kildekode for å forstå den eksisterende kunnskapen. Vi fant mange av nøkkelingrediensene for streng evaluering, men ingen rammeverk som integrerte disse ingrediensene i en plug-and-play-benchmarkingsløsning. Vi satte oss derfor fore å utvikle eit evalueringsrammeverk som kunne brukes ikke bare av Perplexity, men av enhver forsker eller utvikler som søker å benchmarke søke-API-er.
Ved hjelp av dette evalueringsrammeverket benchmarkte vi grundig Perplexity Search API sammen med andre tilbud. Å optimalisere søkeytelse er komplekst, med mange nyanserte avveininger mellom kvalitet og hastighet. I en seier for utviklere fant vi ut at Perplexity Search API setter en ny standard for både kvalitet og ventetid. Utviklere trenger ikke lenger å velge mellom å bygge lynraske applikasjoner og å sikre resultater av høy kvalitet: med Perplexity kan de få begge deler.
Designe pålitelige evalueringer for agentiske søkearbeidsflyter
Vi startet med å definere tre veiledende prinsipper for evalueringsrammeverket vårt:
Kompleksitetsspekter: evalueringsrammeverket bør måle ytelse på både enkle og komplekse agentiske AI-brukstilfeller.
Nøytralitet: evalueringsrammeverket bør vurdere alle API-er på like vilkår.
Enkelhet: selv om visse brukstilfeller kan være komplekse, bør selve rammeverket være så enkelt som mulig slik at andre kan forstå det, reprodusere resultatene og utvide rammeverket med minimalt med mas.
Vårt lettvektige evalueringsrammeverk, search_evals, oppnår disse målene gjennom et enkelt modulært design. Vi utviklet to AI-agent-harnisk for å fange opp både klassiske enkelt-skudds søkebrukstilfeller og avanserte agentiske arbeidsflyter (eksemplifisert av ulike «dypgående forskning»-produkter som er bredt tilgjengelige i forbrukermarkedet). Begge harniskene ble implementert på en rett fram måte som gir lite rom for skjulte fordeler.
For å drive evalueringene våre tok vi i bruk fire benchmarks: SimpleQA og FRAMES for ett-trinns søk, sammen med BrowseComp og HLE for dypgående forskning. Samlet sett gir disse benchmarkene godt aksepterte målestokker for kunnskapsagenter. I tråd med etablert konvensjon graderer vi alle benchmarks ved hjelp av den samme oppfordrede klassifiseringsmetodikken som ble brukt i det opprinnelige arbeidet. De nøyaktige benchmark-implementeringene (inkludert graderlogikk) kan gjennomgås i GitHub-repoet vårt.
Vi designet rammeverket med reproduserbaarheid og utvidbarhet i tankene. Både oppgavenivå-skårene og de underliggende agentutgangene lagres med hver kjøring. Ytterligere harnisk, benchmarks og søke-API-tilbud kan enkelt integreres. Forskere og utviklere kan lese våre GitHub-dokumenter for mer informasjon om hvordan du utvider rammeverket for å dekke dine nøyaktige behov.
Evelueringsresultater
Bevæpnet med dette evalueringsrammeverket satte vi oss fore å vurdere søke-API-et vårt i sammenligning med andre API-tilbud. På tvers av alle testede benchmarks står Perplexity som både det raskeste og høyeste kvalitets-API-et på markedet.
Vi fant ut at våre ovennevnte investeringer i indeks-, innhentings- og rangeringspiff effektivitet lønnte seg stort. Perplexitys medianventetid klokker inn på 358 ms, over 150 ms foran den nest raskeste leverandøren. Ventetiden på 95-persentilen forblir komfortabelt under 800 ms. Med de lange TTFT-metrikkene (tid-til-første-token) for dagens grensemodeller, teller hvert millisekund for å skape herlige brukeropplevelser. Vi har brukt de to siste årene på å optimalisere ventetiden for våre egne brukere, og vi er glade for at de samme investeringene nå vil komme utviklerfellesskapet til gode også.
Søk-API-ventetid
(forespørsler initiert fra AWS us-east-1)
p50 | p75 | p90 | p95 | |
Perplexity | 358 ms | 443 ms | 604 ms | 763 ms |
Exa | 1375 ms | 1499 ms | 1798 ms | 2188 ms |
Brave | 513 ms | 637 ms | 728 ms | 808 ms |
SERP-basert* | 1342 ms | 1586 ms | 1743 ms | 1790 ms |
Søk API-latenspercentiler for forespørsler initiert fra AWS us-east-1.
* Mange søke-API-leverandører bruker SERP-skraping som grunnlag for resultatene sine. For å fange opp ytelsen til slike tilnærminger bruker vi et representativt Google SERP-basert API som leveres av Tavily.
Denne hastighetsfordelen går ikke på bekostning av kvalitet. Perplexity Search API gir banebrytende ytelse i både enkelttrinns søk og dypgående forskningsmiljøer. På hver testede benchmark leder Perplexity an i å levere resultater av høy kvalitet som kan drive AI-arbeidsflyter med varierende kompleksitet. Avstanden mellom Perplexity og det beste alternativet er spesielt uttalt på SimpleQA og HLE, noe som indikerer at disse resultatene er robuste på tvers av oppgavekompleksitetsspekteret.
Som med ventetid kommer vår ledelse i søkekvalitet nedstrøms fra vår ledelse i å bygge herlige, sterkt trafikkerte AI-produkter. Våre millioner av brukere bruker Perplexity til å tilfredsstille nysgjerrigheten sin om alle tenkelige emner, og de resulterende kvalitets- og relevansignalene lar søkemodellene våre forbedre seg for hver time som går.
Søk-API-kvalitetsbenchmarks
Ett-trinns søk | Dypgående forskning | |||
SimpleQA | FRAMES | BrowseComp | HLE | |
Perplexity | .930 | .453 | .371 | .288 |
Exa | .781 | .399 | .265 | .242 |
Brave | .822 | .320 | .221 | .191 |
SERP-basert* | .890 | .437 | .348 | .248 |
Søk API-kvalitetsskårer på SimpleQA, FRAMES, BrowseComp og HLE.
Vi er fremdeles i den tidlige fasen for AI-native søkemotorer, og kunsten og vitenskapen rundt måling vil utvilsomt utvikle seg. Vi inviterer fellesskapet til å bidra ved å utvikle strenge og kreative metoder for å evaluere søkemotorer i AI-agentenes tidsalder.
Byggesteinen for AIs neste kapittel
Fremtiden for agentiske systemer og intelligente assistenter vil avhenge av tilgjengeligheten av rike programmatiske grensesnitt inn i verdens kollektive kunnskap. Dagens eldre søkemotorer har mettet i bruk på omtrent 10¹⁰ forespørsler per dag, et tall som sannsynligvis har nådd en topp. Neste generasjon av søke- og innhentingssystemer vil betjene størrelsesordener flere forespørsler, ettersom et stadig voksende univers av AI-agenter stoler på dem for nøyaktig sanntidsinformasjon.
Innsatsen vår til nå har posisjonert oss som den raskeste, mest ytelsesdyktige søkemotoren som er tilgjengelig via API. Men det vil kreves enda mer ambisiøs innovasjon for at vi skal drive AIs neste kapittel. Hvordan skalerer vi disse systemene effektivt i møte med en stadig økende etterspørsel? Hvordan kan disse søkesystemene optimaliseres i lys av nye tilnærminger til kontekstteknik og ettertrening? Og hvordan navigerer vi i den allestedsnærværende spenningen mellom fullstendighet, ferskhet og ventetid? Dette er åpne spørsmål som Perplexity, med vår kombinasjon av produktfotavtrykk, skala og teknisk talent, er unikt posisjonert til å takle.
Sitat
@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}
}