Accepted
We need an embedding model for converting document chunks into vectors for retrieval. Options considered: OpenAI text-embedding-3-small, local sentence-transformers (all-MiniLM-L6-v2), Cohere embed-v3.
Use OpenAI text-embedding-3-small as the default, with a provider abstraction that allows swapping models. For local development and testing, use a mock provider that returns deterministic vectors.
- Requires an API key for production use
- Mock provider enables cost-free development and CI
- Provider abstraction adds a small layer of indirection but enables flexibility