Configure Embeddings (Gemini vs OneAPI)
Last Updated: 2026-02-06
Content-Type: How-to
Audience: Developers, Operators
Overview
Embeddings power semantic retrieval. This codebase supports:
- Gemini embeddings (
gemini-embedding-001) - OneAPI / OpenAI-compatible embeddings (
POST /v1/embeddings)
Embeddings are generated by backend/src/services/embedding.service.ts.
Recommended (OneAPI, 1536 dims)
In backend/.env:
EMBEDDING_PROVIDER=oneapiONE_API_EMBEDDING_MODEL=text-embedding-3-smallVECTOR_DIM=1536
If OneAPI returns 403 “no permission for model”, you must allow that model for the token/channel inside OneAPI.
Gemini (alternative)
In backend/.env:
EMBEDDING_PROVIDER=geminiGEMINI_API_KEY=...VECTOR_DIM=1536(the system will normalize/truncate/pad to match)
Caching
Optional:
EMBEDDING_CACHE_SIZE=500
This reduces repeated embedding calls (useful during backfills).