Skip to content

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.


In backend/.env:

  • EMBEDDING_PROVIDER=oneapi
  • ONE_API_EMBEDDING_MODEL=text-embedding-3-small
  • VECTOR_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=gemini
  • GEMINI_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).

ASO Universal Consciousness System Documentation