Ragfish Logo
Get In Touch
Ragfish Logo

Book a Demo

Vector Stores - Overview

Vector stores are a core component of a Retrieval-Augmented Generation (RAG) application.

A vector store is responsible for storing vector representations of knowledge and making those vectors searchable during retrieval.

In Ragfish, vector stores sit between the embedding layer and the retrieval layer.

Knowledge
   │
   ▼
Ingestion
   │
   ▼
Chunking
   │
   ▼
Embedding Model
   │
   ▼
Vector Store
   │
   ▼
Retriever
   │
   ▼
Chat
   │
   ▼
AI Response

What Is a Vector Store?

When documents are ingested into a RAG application, their content is divided into smaller chunks.

Each chunk can then be converted into a vector using an embedding model.

Document
   │
   ▼
Chunk
   │
   ▼
Embedding
   │
   ▼
Vector

A vector store stores these vectors along with the information required to identify the original content.

For example:

Vector Store
│
├── Vector
├── Document Content
├── Metadata
└── Source Information

Why Do We Need a Vector Store?

Traditional keyword search looks for matching words.

Vector search allows an application to search based on semantic similarity.

For example, a user might ask:

"How many vacation days does an employee receive?"

The knowledge base might contain:

"Employees are entitled to 20 days of annual paid leave."

The words are different, but the meaning is closely related.

The embedding model represents both pieces of text as vectors, allowing the vector store to identify their semantic relationship.

Vector Store in Ragfish

Ragfish separates the vector-store implementation from the rest of the framework.

The architecture can be represented as:

This modular design allows different vector databases to be integrated without changing the overall Ragfish application architecture.

The current Ragfish example uses QdrantVectorStore together with QdrantRetriever.

Vector Store vs Retriever

These two components have different responsibilities.

The relationship is:

User Question
     │
     ▼
  Retriever
     │
     ▼
Vector Store
     │
     ▼
Relevant Chunks
     │
     ▼
   Chat

The retriever determines how relevant information is obtained, while the vector store provides the underlying storage and search capability.

Embeddings and Vector Stores

Embeddings and vector stores work together.

During ingestion:

Document
   │
   ▼
Chunking
   │
   ▼
Embedding Model
   │
   ▼
Vector
   │
   ▼
Vector Store

During retrieval:

User Question
     │
     ▼
Embedding Model
     │
     ▼
Query Vector
     │
     ▼
Vector Store
     │
     ▼
Similar Vectors
     │
     ▼
Relevant Knowledge

The embedding model creates the vector representation, while the vector store stores and searches those representations.

Qdrant

Ragfish currently provides a Qdrant integration through:

@ragfish/qdrant

The package provides the vector-store and retrieval components required to connect Qdrant with Ragfish.

The main components are:

@ragfish/qdrant
│
├── QdrantVectorStore
└── QdrantRetriever

A typical configuration looks like:

import {
 QdrantVectorStore,
 QdrantRetriever
} from "@ragfish/qdrant";

const store = new QdrantVectorStore({
 // Qdrant configuration
});

const retriever = new QdrantRetriever({
 vectorStore: store,
 collectionName: "knowledge"
});

The Ragfish master example demonstrates the same QdrantVectorStore → QdrantRetriever pattern.

Vector Store Collections

Vector databases generally organize vectors into logical collections or equivalent knowledge spaces.

For example:

Qdrant
│
├── product-documents
├── hr-documents
├── compliance-documents
└── support-documents

A retriever can then target the appropriate collection

const retriever = new QdrantRetriever({
 vectorStore: store,
 collectionName: "product-documents"
});

This makes it possible to keep different knowledge domains separated.

Vector Store Operations

A typical Ragfish vector-store workflow involves several operations:

Installation
    ↓
Configuration
    ↓
Collections
    ↓
Indexing
    ↓
Search
    ↓
Filtering

These operations are documented separately in the Qdrant section.

Installation

Install the Ragfish Qdrant integration and configure the required infrastructure.

Configuration

Connect Ragfish to your Qdrant instance.

Collections

Organize vectors into logical knowledge collections.

Indexing

Store embedded knowledge in the vector store.

Search

Find vectors that are semantically similar to a user query.

Filtering

Narrow search results using supported metadata or filter conditions.

Supported Vector Stores

Vector Store Status

Qdrant Available

Chroma                  Coming Soon

Pinecone                Coming Soon

Weaviate              Coming Soon  

The exact capabilities available for each integration will depend on its implementation in the corresponding Ragfish package.

Vector Stores in the Complete RAG Architecture

The complete Ragfish architecture can be represented as:

   Knowledge Sources
                          │
                          ▼
                      Ingestion
                          │
                          ▼
                       Chunking
                          │
                          ▼
                   Embedding Model
                          │
                          ▼
                    Vector Store
                          │
                          ▼
                      Retriever
                          │
                          ▼
                         Chat
                          │
                          ▼
                         LLM
                          │
                          ▼
                      Response

The vector store is therefore a central part of the knowledge retrieval pipeline.

Choosing a Vector Store

When selecting a vector store for your application, consider:

  1. Deployment model

  2. Search performance

  3. Scalability

  4. Metadata filtering

  5. Collection management

  6. Infrastructure requirements

  7. Operational complexity

  8. Application size

  9. Enterprise requirements

For the currently supported Ragfish architecture, Qdrant is the primary vector-store integration documented in the framework.

Best Practices

When working with vector stores:

  1. Keep knowledge collections logically organized.

  2. Use an embedding configuration consistently for indexed and queried content.

  3. Preserve useful metadata with stored knowledge.

  4. Choose collections based on your application's knowledge domains.

  5. Test retrieval quality using real application questions.

  6. Keep vector-store configuration separate from business logic.

  7. Monitor vector-store performance as your knowledge base grows.

What's Next?

Ragfish currently provides its primary vector-store integration through Qdrant.

Continue to Qdrant → Installation to install the Ragfish Qdrant package and prepare your application for vector-based knowledge retrieval.