Open-source, self-hosted text embeddings and reranking API.
Create embeddings for semantic search and retrieval on your own server. Powered by Hugging Face Text Embeddings Inference (TEI), with an OpenAI-compatible embeddings API and optional cross-encoder reranking.
The Self-Hosted AI Builder's Guide
Practical guidance for deployment, security, backups, and everyday operation.
Text → embeddings → retrieval
Ready to compare. Ready to retrieve.
TEXT INPUT
How do I back up my AI stack?
ILLUSTRATIVE VECTOR
[0.03, -0.12, 0.08, …]
Embeddings
Semantic search
Optional reranking
Illustrative, shortened vector. Your configured model determines the actual vector dimensions and values; add your own storage and retrieval logic.
A focused service for your applications
A focused API for semantic retrieval.
Encode text for similarity search, then optionally rerank candidate passages. EmbedCrate provides model serving; your application handles ingestion, storage, retrieval, and the final answer.
OpenAI-compatible embeddings
Use POST /v1/embeddings with compatible SDKs and applications. Supported request fields depend on the TEI backend.
Text stays on your server
Your configured local model processes embedding and reranking inputs. You control the deployment, client routes, logs, and stored results.
Configurable embedding models
Start with BAAI/bge-small-en-v1.5, or configure another supported model. Consider language, vector dimensions, memory, and model licensing.
Optional cross-encoder reranking
Enable a separate reranker to score candidate passages through /rerank. It can use its own model and credential and normally listens on port 8001.
CPU on amd64 and arm64
The supplied images run on CPU on supported amd64 and arm64 Linux hosts. Memory requirements increase with model size and workload.
Persistent and offline models
Retain downloaded models in the data volume. For disconnected processing, cache models first and set EMBED_LOCAL_ONLY=true.
The request’s model name is a compatibility field here. It does not call an OpenAI-hosted model or switch away from your configured BGE model.
Part of a larger toolkit
Build your Self-Hosted AI Stack
EmbedCrate is also available as part of Self-Hosted AI Stack.
Deploy local models, chat, document processing, voice, and AI tools
together, or choose a smaller configuration for your needs.
ParseCrate extracts text and structure from PDFs and other documents. Connect its output to EmbedCrate, a vector store, and your own retrieval application.
The EmbedCrate project is open source under the MIT License. You provide hardware or cloud hosting and pay associated costs. Models, dependencies, and external providers retain their own licenses and terms.
Does EmbedCrate include a vector database?
No. It serves embeddings and optional reranking. Store vectors and implement search in your application, for example with PostgreSQL and pgvector.
Does the request model field choose a model?
The server configuration selects the loaded model. The OpenAI-compatible request field does not select an OpenAI-hosted model or dynamically load a different model.
Is reranking enabled by default?
No. Set RERANK_ENABLED=true and configure the reranker model. If you need host access, publish port 8001 to loopback as well. A separate reranker key can be configured.
Does it require a GPU?
No. The supplied EmbedCrate images run on CPU on amd64 and arm64. Choose a model that fits your host’s memory and expected request load.
Can embeddings be generated offline?
Cache your selected models first and enable EMBED_LOCAL_ONLY=true. Disable aggregate usage counts separately with EMBED_DISABLE_USAGE_COUNTS=1.
The image includes optional aggregate usage counts.
See the usage-count documentation;
set EMBED_DISABLE_USAGE_COUNTS=1 to disable them.
Bring your text. Keep control of your retrieval pipeline.