Welcome to Vespa, the open big data serving engine! Here you'll find resources for getting started.
Quick Start |
Quick start: Create and run a minimal Vespa application Other ways to get started:
Until you add multiple nodes an application can be deployed both on cloud and locally with no modifications. |
---|---|
Tutorials and Use Cases |
Moving from the minimal quick start to more advanced use cases Search
Learn how to use Vespa Vector Search in the practical nearest neighbor search guide. It uses Vespa's support for nearest neighbor search, there is also support for fast approximate nearest neighbor search in Vespa. The guide covers combining vector search with filters and how to perform hybrid search, combining retrieval over inverted index structures with vector search. RAG (Retrieval-Augmented Generation)Learn how to use Vespa for RAG in the Retrieval-augmented generation (RAG) in Vespa guide. RecommendationLearn how to use Vespa for content recommendation/personalization in the News Search and Recommendation tutorial set. ML Model ServingLearn how to use Vespa for ML model serving in Stateless Model Evaluation. Vespa has support for running inference with models from many popular ML frameworks which can be used for ranking, query classification, question answering, multi-modal retrieval and more.
Vespa supports integrating embedding models, this avoids transfering large amounts of embedding vector data over the network and allows for efficient serving of embedding models.
The Models hot swap tutorial shows a solution for changing the vector embedding model atomically while serving. It also extends the application to support multiple recommendation models while minimizing data duplication. Lastly, it demonstrates how to efficiently garbage collect obsolete content in an application. E-Commerce SearchThe e-commerce shopping sample application demonstrates Vespa grouping, true in-place partial updates, custom ranking and more. Examples and starting sample applicationsThere are many examples and starting applications on GitHub and PyVespa examples. |
Production deployment environments |
Vespa can be deployed in multiple ways. These guides show how to deploy multi-node applications in various environments.
See also monitoring Vespa. |
Custom component development |
Vespa applications can contain custom components to be run by Vespa, for example on receiving queries or documents. The applications must be able to run on a JVM. While all the built-in behavior of Vespa can be invoked by an YQL query, advanced applications often choose to use plugin components to build queries from frontend requests as doing this closer to the data is faster and simpler. See the quick starts with Java above to get started. The Developer Guide has more details. |