MemoFSMemoFS

How to configure Vector Embeddings & Intelligence Drivers

Enable vector embeddings, semantic search, and entity graph consolidation in MemoFS.

MemoFS is built with a deterministic, zero-key fallback (BM25 lexical search + rule-based entity parsing). When you're ready for semantic retrieval and automated knowledge graph extraction, you can plug in vector embedding and LLM intelligence drivers.

Available Intelligence Drivers

DriverPackageExecutionBest For
BM25 DefaultBuilt-in100% Local / Zero KeysOffline development, instant startup
Transformers.js@memofs/adapter-transformers100% Local / ONNXLocal semantic search with zero API costs
Voyage AI@memofs/adapter-voyageCloud APIState-of-the-art code & technical recall
OpenAI@memofs/adapter-openaiCloud APItext-embedding-3-small / text-embedding-3-large
Cloudflare Workers AI@memofs/adapter-workers-aiEdge / ServerlessServerless edge deployment with Cloudflare Workers

Option 1: Local Semantic Search with Transformers.js

Run vector embeddings completely on-device without sending data across the network:

  1. Install the adapter:

    npm install @memofs/adapter-transformers
  2. Configure in .memofs/config.json:

    {
      "recall": {
        "localEmbeddings": true,
        "embeddingModel": "Xenova/bge-small-en-v1.5"
      }
    }

Option 2: Voyage AI Code Embeddings

Voyage AI offers domain-specific models tailored for code and technical repositories:

  1. Install the adapter:

    npm install @memofs/adapter-voyage
  2. In your TypeScript setup:

    import { MemoFS } from "@memofs/core";
    import { createNodeFsMemoryStore } from "@memofs/core/node-fs";
    import { createVoyageEmbedder } from "@memofs/adapter-voyage";
    
    const memo = new MemoFS({
      store: createNodeFsMemoryStore({ rootDir: "." }),
      embedder: createVoyageEmbedder({
        apiKey: process.env.VOYAGE_API_KEY!,
        model: "voyage-code-3",
      }),
    });

Option 3: OpenAI Embeddings

Use OpenAI's text-embedding-3-small or text-embedding-3-large:

  1. Install the adapter:

    npm install @memofs/adapter-openai
  2. Initialize in code:

    import { MemoFS } from "@memofs/core";
    import { createNodeFsMemoryStore } from "@memofs/core/node-fs";
    import { createOpenAIEmbedder } from "@memofs/adapter-openai";
    
    const memo = new MemoFS({
      store: createNodeFsMemoryStore({ rootDir: "." }),
      embedder: createOpenAIEmbedder({
        apiKey: process.env.OPENAI_API_KEY!,
        model: "text-embedding-3-small",
      }),
    });

Reindexing Memory

Whenever you switch embedding models, regenerate the vector indexes:

npx @memofs/cli index --rebuild

On this page