Completed

In-Memory Vector Database

A lightweight .NET experiment in giving LLM applications retrieval over small document collections without running a separate vector database.

Retrofuturist tabletop card selector compares a query card with stored cards to represent in-memory similarity search.

Overview

I built this project to explore whether a lightweight in-memory vector store could give LLM agents useful data without the overhead of running Qdrant and managing external collections for very small datasets.

The C#/.NET command-line application parses local documents, splits their content into chunks, creates embeddings and stores the resulting index in memory. It serializes the index to a local cache so it can be reloaded for retrieval. In retrieval mode, relevant chunks are passed to an AI service to answer a question; a separate full-context mode loads documents directly into the conversation. The repository uses SharpVector and includes service wrappers for OpenAI, Azure OpenAI and DeepSeek.

The experiment succeeded in providing data to an LLM workflow, but the assumption that memory would stay small did not hold in practice. As the amount of memory grew, a miniature in-memory store became less useful for the intended agent systems. Mem0 was another promising option, and Qdrant ultimately suited the requirements well enough that maintaining a smaller substitute no longer made sense.

The project is complete as an experiment. Its value was in testing the approach and understanding where it stopped being a good fit, rather than producing a component I intended to keep using.

Ended2025-06-11

Current status

Completed

Status history (1 most recent updates)
  1. Oct 29, 2026 · danCompleted

Technologies

Technical challenges

Achievements