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.
reflexio embeddings serve [OPTIONS]Options
| Prop | Type | Default | Description |
|---|---|---|---|
--host? | str | "127.0.0.1" | Host interface for the embedding daemon. |
--port? | int | 8072 | Embedding 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. Themodelfield is required and must match the daemon's single active model; requests for a different model are rejected.
Examples
# 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/healthSee services for starting the embedding daemon alongside the backend, and Configuration for embedding provider settings.