gitmyhub

vespa

Java ★ 7.0k updated 8h ago

The AI search platform

Vespa is a platform for searching, ranking, and organizing massive datasets in real time, combining traditional text search with AI-based ranking in a single query at high scale.

JavaC++Mavensetup: hardcomplexity 4/5

Vespa is a platform for searching, ranking, and organizing large collections of data in real time. It is built to handle use cases like search engines, recommendation systems, and personalization features at scale, where millions of data items need to be searched and scored within a fraction of a second while the data itself is continuously changing.

At its core, Vespa stores structured data, text, and numerical vectors. Vectors are a format used in machine learning to represent content like documents or product descriptions as lists of numbers, which allows similarity-based search. Vespa can evaluate models over that data at query time, meaning it can combine traditional text matching with AI-based ranking in a single query rather than requiring a separate processing step.

The project has been in development for many years and runs in production at large internet services handling hundreds of thousands of queries per second. All code in the repository is open source under the Apache 2.0 license. A new release is made from the main branch every weekday morning.

Vespa can be used through a managed cloud service at vespa.ai, which includes a free trial, or by running your own Vespa instance. Documentation, a getting-started guide, and sample applications are available at docs.vespa.ai. Building from source is only needed for contributors; most users work with pre-built releases.

The codebase is primarily Java with some C++. A full build requires AlmaLinux 8, though the Java modules alone can be built on any platform with Java 17 and Maven 3.8 or newer. The project maintains a blog and a Slack community for users, and welcomes external contributions.

Where it fits