Practical overview
When it fits
Use Vectra when a Ruby or Rails application needs vector storage or retrieval through one of its listed providers, particularly when a shared client interface or Rails model integration is useful.
Who it is for
- Ruby developers adding vector storage and retrieval to an application.
- Rails developers who want model-level vector declarations and search.
- Teams evaluating a shared client interface across supported vector database providers.
Documented uses
- Upsert vectors with IDs and metadata, then query for the closest matches.
- Use hybrid semantic-and-keyword search on the providers listed as supporting it.
- Add vector fields and model-level search to a Rails ActiveRecord model.
- Keep application calls behind a common client interface when selecting among supported providers.
Requirements & limits
The project is published as an MIT-licensed Ruby library. The README lists Ruby 3.2 or later.
- Provider coverage includes Pinecone, Qdrant, Weaviate and pgvector; Memory is identified as testing-only.
- Hybrid search is listed for all four database providers, while text-only search is listed for Qdrant, Weaviate and pgvector.
- The README's Rails integration supports a
has_vectordeclaration and model-level search; its generator creates a pgvector migration only when that provider is selected. - Vectra provides the client interface, while vector values and the database connection come from the application's embedding workflow and selected provider.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Add vector storage and querying to a Ruby app
Install the Vectra gem, connect a client to a provider, and use the README's example calls to store and query vectors.
Before you start
- A Ruby application; the README lists Ruby 3.2 or later.
- A supported provider: Pinecone, Qdrant, Weaviate or pgvector.
- The provider connection details required for the selected backend.
- Vector values supplied by the application.
Steps
Add
gem 'vectra-client'to the Gemfile and runbundle install.Require
vectraand initializeVectra::Clientwith the selected provider and its connection details.Use
client.upsertwith vector IDs, values and optional metadata.Call
client.querywith a vector andtop_kto retrieve matches.
Expected outcome
The Ruby application has a documented client path for storing vectors and requesting the top matching results from its chosen provider.
Guide limitations
- Provider-specific connection settings vary; the README shows examples for each backend.
- The README marks Memory as testing-only.
- The application must obtain or create vector values; Vectra is the client layer, not an embedding model.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 16 October 2026
- Original website title
- stokry/vectra · Official homepage title · retained in its source language

