metal-kompanion/docs/embeddings-and-storage.md

887 B

Embedding Backends & Storage Options

Embeddings

  • Local: Ollama + llama.cpp gguf (e.g., nomic-embed-text, all-MiniLM-gguf).
  • Remote: OpenAI text-embedding-3-small/large; SentenceTransformers via Python service.

Abstraction

IEmbedder interface with embed(texts: string[], model?: string) -> {model, vectors}.

Storage

  • SQLite + FAISS (local, simple)
  • Postgres + pgvector (robust, SQL)
  • Qdrant (fast ANN, tags)
  • Chroma (lightweight)

Abstraction

IVectorStore with upsert, query, delete, supports namespace, metadata filter and TTL.

Selection Matrix

  • If offline-first: SQLite+FAISS + local embedder.
  • If multi-host: Postgres+pgvector or Qdrant.

Next Steps

  • Implement IEmbedder adapters (Ollama, OpenAI).
  • Implement IVectorStore adapters (SQLite+FAISS, pgvector, Qdrant).
  • Wire to MCP tools in kom.memory.v1.