Describing how Exa search works

Exa is a novel search engine that utilizes the latest advancements in AI language processing to return the best possible results.

Introducing neural searches via 'next-link prediction'

At Exa, we've built our very own index of high quality web content, and have trained a model to query this index powered by the same embeddings-based technology that makes modern LLMs so powerful.

By using embeddings, we move beyond keyword searches to use 'next-link prediction', understanding the semantic content of queries and indexed documents. This method predicts which web links are most relevant based on the semantic meaning, not just direct word matches.

By doing this, our model anticipates the most relevant links by understanding complex queries, including indirect or thematic relationships. This approach is especially effective for exploratory searches, where precise terms may be unknown, or where queries demand many, often semantically dense, layered filters.

Combining neural and keyword - the best of both worlds through Exa Auto Search

Sometimes keyword search is the best way to query the web - for instance, you may have a specific word or piece of jargon that you want to match explicitly with results (often the case with proper nouns like place-names). In these cases, semantic searches are not the most useful.

To ensure our engine is comprehensive, we have built keyword search in parallel to our novel neural search capability. This means Exa is an 'all-in-one' search solution, no matter what your query needs are.

Lastly, we surface both query archetypes through 'Auto Search', to give users the best of both worlds - we have built a small categorization model that understands your query, our search infrastructure and therefore routes your particular query to the best matched search type.

See here for the way we set Auto Search in a simple Python example. Type has options neural, keyword or auto.

At one point, Exa auto Auto Search was named Magic Search - this has been changed

result = exa.search_and_contents(
  "hottest AI startups",
  type="auto",
)