vespa-engine/sample-apps

Repository of sample applications for https://vespa.ai, the open big data serving engine

What it solves

This repository provides a collection of reference implementations and tutorials to help developers implement advanced search and retrieval patterns using the Vespa engine. It bridges the gap between the core engine's capabilities and real-world AI applications like RAG, hybrid search, and visual retrieval.

How it works

Each sample application follows a standard structure consisting of a dataset, an application package (containing schemas and service configurations), and optional build scripts. These samples demonstrate various techniques, including:

  • Hybrid Search: Combining traditional keyword matching (BM25) with semantic vector search.
  • Vector Indexing: Using HNSW for approximate nearest neighbor search and multi-vector indexing for longer documents.
  • RAG Pipelines: Integrating LLMs for document enrichment and response generation, both locally and via cloud services.
  • Visual Retrieval: Using Vision Language Models (VLMs) like ColPali to index and retrieve PDF pages as images.
  • Advanced Embeddings: Implementing binary embeddings (Cohere), Matryoshka embeddings (OpenAI), and sparse representations (SPLADE).

Who it’s for

Developers and AI engineers who are using or evaluating Vespa to build search engines, recommendation systems, or Retrieval Augmented Generation (RAG) applications.

Highlights

  • Production-grade RAG: A blueprint for scaling RAG applications to production.
  • Multimodal Capabilities: Examples for billion-scale image search and visual PDF retrieval using VLMs.
  • ** uma Multilingual Support**: Implementations for multilingual semantic search.
  • Efficiency Optimizations: Demos on reducing storage and memory footprints using binary vectors and Matryoshka embeddings.

Related

  • Project
  • Project
  • Project
  • Project
  • Project