OpenViSTAI · Agents · Blockchain · Crypto
Menu
AI Infrastructure & Serving

Zeppelin — zepdb

Zeppelin is an open-source vector and full-text search engine that stores vectors, indexes, write-ahead logs and manifests in object storage. It provides a stateless-node HTTP service for namespace management, vector writes and queries, with BM25 full-text search available as an opt-in capability.

Independent OpenViST project profile, based on linked sources.

Zeppelin — zepdb — OpenViST project profile in AI Infrastructure & Serving.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use Zeppelin when building a search service where object storage should hold persistent vectors and indexes, and where vector retrieval, optional BM25 search, or both need to be exposed through an HTTP API.

Who it is for

  • Developers building applications that need a self-hosted vector retrieval backend.
  • Teams that want to combine vector search with BM25 full-text retrieval.
  • Operators designing search infrastructure around S3-compatible object storage.

Documented uses

  • Store vectors and search indexes in object storage and retrieve nearest vectors through an HTTP API.
  • Add BM25 full-text search over configured document attributes.
  • Combine text and vector retrieval in a search backend.
  • Run search nodes without keeping the persistent index as node-local state.
Before you choose

Requirements & limits

The project is available as a public GitHub repository under the Apache-2.0 license. The documented local setup uses Docker Compose and MinIO.

  • Persistent vectors, indexes, WAL and manifests are stored in object storage; nodes are described as stateless.
  • Dense queries use a quantized coarse scan followed by exact reranking; the production default is 2-bit Extended-RaBitQ.
  • BM25 is opt-in and supports configurable tokenization, stemming and multi-field ranking expressions.
  • The README reports loopback-MinIO measurements, not cloud-S3 latency results.
  • GCS and Azure Blob backends have emulator-backed gates; the README says real-service testing and per-substrate performance are not established.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Start Zeppelin locally with MinIO and query vectors

Launch the documented local development stack, create a namespace, upsert vectors and retrieve nearest results.

Before you start

  • Docker Compose
  • The Zeppelin repository, including its Compose configuration
  • The bundled development configuration, which starts in open, unauthenticated security mode for local development only

Steps

  1. From the repository, run the command below to start Zeppelin on port 8080 and MinIO on port 9000 with a pre-created zeppelin bucket.

    Documented command
    docker compose up
  2. Create a namespace through the HTTP API, specifying vector dimensions; include a full_text_search configuration block if BM25 search over an attribute is wanted.

  3. Upsert vectors and their attributes into the namespace using the HTTP API.

  4. Submit a query vector and top_k value to the namespace query route.

Expected outcome

A local Zeppelin service backed by MinIO, with a namespace containing vectors and an HTTP query returning ranked results.

Guide limitations

  • The bundled open_unsafe security mode has no authentication and is for local development only; configure enforced security before deploying elsewhere.
  • The README's short examples use four-dimensional vectors; real embeddings require their corresponding dimensions.
  • The project is pre-1.0 and does not guarantee on-disk format stability between pre-1.0 versions.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
15 October 2026
Original website title
zepdb/zeppelin · Official homepage title · retained in its source language