Hey! Love that qmd is all-local, but it would be great to have an optional cloud embedding backend for cases where:
- The local machine lacks GPU (CPU-only embedding is slow)
- Higher quality embeddings are desired (e.g. OpenAI text-embedding-3-small/large)
- Users already have API keys for OpenRouter, OpenAI, etc.
Proposed approach:
- Add an optional config (env var or config file) like
QMD_EMBED_PROVIDER=openai and QMD_EMBED_API_KEY=sk-...
- Default remains local GGUF models (no breaking change)
- When configured,
qmd embed calls the hosted API instead of running the local model
- Providers to consider: OpenAI, OpenRouter, Cohere, Voyage AI
This would keep qmd's simplicity while unlocking better embeddings for users who want them. The local-first default stays intact.
Thanks for building this!