Menu
CLI

reflexio embeddings

Run the local OpenAI-compatible embedding daemon.

Local OSS only. The embedding daemon serves embeddings from a local model on your machine.

The daemon hosts a single active local embedding model (default local/minilm-l6-v2) behind an OpenAI-compatible API. services start uses the SDK launcher's shared inference process when no explicit REFLEXIO_EMBEDDING_SERVICE_URL is configured. A configured URL attaches to that service, including for loopback endpoints. Run embeddings serve directly when you want to manage a separate embedding service.


Command: reflexio embeddings serve

Serves the embedding daemon with uvicorn and blocks until you interrupt with Ctrl-C.

Terminal
reflexio embeddings serve [OPTIONS]

Options

PropTypeDefaultDescription
--host?str"127.0.0.1"Host interface for the embedding daemon.
--port?int8072Embedding service port. Reads EMBEDDING_PORT env var if unset.

CPU library budget

Set REFLEXIO_NATIVE_COMPUTE_THREADS to a positive integer to size the inference service's Torch, BLAS/OpenMP and ONNX CPU pools. Unset or empty uses 2. This limits each backend pool, rather than total CPU across concurrent requests. The same budget bounds cold tokenizer pools. Tokenizer parallelism and Rayon thread variables are derived outputs; old assignments no longer select behavior. Unknown, forked, or lowered-budget pools remain serial until restart. This does not resize warm pools or make inherited model objects fork-safe.

The old REFLEXIO_INFERENCE_TORCH_THREADS, OMP_NUM_THREADS, MKL_NUM_THREADS and OPENBLAS_NUM_THREADS inputs no longer choose inference limits. To preserve a custom limit, choose the new budget explicitly and remove old assignments. Custom legacy inputs without a new budget stop startup; blank/former-default 2 assignments are ignored. Unconfigured Nomic now uses 2 rather than Torch's detected default. The previously retired REFLEXIO_EMBED_TORCH_THREADS name remains rejected, including blank assignments.

Endpoints

  • GET /health — liveness check; reports the currently active model.
  • POST /v1/embeddings — OpenAI-compatible embedding endpoint. The model field is required and must match the daemon's single active model; requests for a different model are rejected.

Examples

Terminal
# Serve on the default port (EMBEDDING_PORT or 8072)
reflexio embeddings serve

# Serve on a custom port
reflexio embeddings serve --port 9072

# Check the daemon and its active model
curl -H "User-Agent: my-agent-reflexio" http://localhost:8072/health

See services for starting the embedding daemon alongside the backend, and Configuration for embedding provider settings.