887 B
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
IEmbedderadapters (Ollama, OpenAI). - Implement
IVectorStoreadapters (SQLite+FAISS, pgvector, Qdrant). - Wire to MCP tools in
kom.memory.v1.