The problem / use case
Context: Embedders live in retrieval_lab.embedding — DeterministicEmbedder
(keyless core) plus E5/BGE behind the [real-embed] extra, imported lazily. An API
embedder is a natural addition for teams comparing hosted vs local models.
What: Add an api embedder (start with one provider) behind a new extra
(e.g. [api-embed]), selectable via --embed-models api:text-embedding-3-small.
Acceptance:
Note: needs a key to run for real; bigger than a one-file change — hence help wanted.
Proposed idea
Add an API-based embedder (e.g. OpenAI text-embedding-3-*) behind a new optional extra, lazily imported like the E5/BGE path, so users can benchmark hosted embeddings against local ones — without adding a runtime dependency to the core.
The problem / use case
Context: Embedders live in
retrieval_lab.embedding—DeterministicEmbedder(keyless core) plus E5/BGE behind the
[real-embed]extra, imported lazily. An APIembedder is a natural addition for teams comparing hosted vs local models.
What: Add an
apiembedder (start with one provider) behind a new extra(e.g.
[api-embed]), selectable via--embed-models api:text-embedding-3-small.Acceptance:
EmbeddingCache)CHANGELOG.mdupdatedNote: needs a key to run for real; bigger than a one-file change — hence
help wanted.Proposed idea
Add an API-based embedder (e.g. OpenAI text-embedding-3-*) behind a new optional extra, lazily imported like the E5/BGE path, so users can benchmark hosted embeddings against local ones — without adding a runtime dependency to the core.