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:
Deployment model
Search performance
Scalability
Metadata filtering
Collection management
Infrastructure requirements
Operational complexity
Application size
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:
Keep knowledge collections logically organized.
Use an embedding configuration consistently for indexed and queried content.
Preserve useful metadata with stored knowledge.
Choose collections based on your application's knowledge domains.
Test retrieval quality using real application questions.
Keep vector-store configuration separate from business logic.
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.