Drupal is a registered trademark of Dries Buytaert
cms 2.1.3 Update released for Drupal core (2.1.3)! drupal 10.5.11 Update released for Drupal core (10.5.11)! drupal 11.3.11 Update released for Drupal core (11.3.11)! drupal 11.2.13 Update released for Drupal core (11.2.13)! drupal 10.6.10 Update released for Drupal core (10.6.10)! cms 2.1.2 Update released for Drupal core (2.1.2)! drupal 11.1.10 Update released for Drupal core (11.1.10)! drupal 10.5.10 Update released for Drupal core (10.5.10)! drupal 10.4.10 Update released for Drupal core (10.4.10)! drupal 11.2.12 Update released for Drupal core (11.2.12)! drupal 11.3.10 Update released for Drupal core (11.3.10)! drupal 10.6.9 Update released for Drupal core (10.6.9)! drupal 10.6.8 Update released for Drupal core (10.6.8)! drupal 11.3.9 Update released for Drupal core (11.3.9)! drupal 11.3.8 Update released for Drupal core (11.3.8)! drupal 11.3.7 Update released for Drupal core (11.3.7)! drupal 11.2.11 Update released for Drupal core (11.2.11)! drupal 10.6.7 Update released for Drupal core (10.6.7)! drupal 10.5.9 Update released for Drupal core (10.5.9)! cms 2.1.1 Update released for Drupal core (2.1.1)!

Turbovec VDB Provider integrates turbovec-docker - a lightweight, self-hosted vector database - as a Vector Database (VDB) provider for the Drupal AI module. It enables similarity-based semantic search across your Drupal content using embeddings, with no external cloud dependency.

turbovec-docker is a Dockerised HTTP API built on top of RyanCodrai/turbovec. It wraps turbovec's fast binary quantisation index in a FastAPI service and exposes a REST interface that this module communicates with to store, search, and delete vectors.

Key Features

  • Semantic vector search - Plug turbovec into the AI Search backend to power similarity-based content discovery using embeddings from any AI provider supported by the Drupal AI module.
  • Lightweight and self-hosted - turbovec-docker runs as a single Docker container with no external cloud account required. Data is persisted to local files on the host, making it ideal for development, staging, and small-to-medium production deployments.
  • Full CRUD operations -Supports creating and dropping collections, inserting entities with arbitrary metadata fields, filtered vector search, metadata-only queries, and entity deletion.
  • Entity ID filtering — Pass an allowlist of Drupal entity IDs to restrict vector search to a specific set of nodes (e.g. after access-check retries), ensuring results are scoped to content the current user is permitted to see.
  • Offset and pagination support - Both vector search and metadata query endpoints support limit and offset, allowing the AI Search backend to page through results and apply access-check retries.
  • Optional bearer token authentication - Set API_BEARER_TOKEN on the turbovec-docker container to require authentication. Store the token securely using the Key module and select it in the provider configuration form.
  • DDEV friendly - From inside a DDEV container, point the server URL at http://host.docker.internal:8000 to reach turbovec running on the host machine without any extra network configuration.
  • Orphan-safe - The provider guards against corrupted index state (vectors present in the index but missing metadata) that would otherwise crash Drupal's entity access checks.

Requirements

Getting started

Start turbovec-docker on the host machine:

docker compose up --build

Enable the module and clear caches:

drush en ai_vdb_provider_turbovec
drush cr

Visit /admin/config/ai/vdb_providers/turbovec and set the server URL (e.g. http://localhost:8000 or http://host.docker.internal:8000 from inside DDEV). The form tests connectivity on save.

Then create a Search API server using the AI Search backend, select Turbovec as the VDB provider, enable the AI Embeddings processor on your index, and index your content.

Activity

Total releases
1
First release
Jun 2026
Latest release
13 hours ago
Release cadence
Stability
0% stable

Releases

Version Type Release date
1.0.x-dev Dev Jun 15, 2026