Overview
Text namespaces need an embedding provider to turn documents and search queries into vectors. Moorcheh On-Prem supports three providers, configured once and stored in ~/.moorcheh/config.json.
| Provider | API key | Ollama / Docker | Best for |
|---|
| Ollama | Not required | Optional host install or bundled moorcheh-ollama | Fully local, no cloud |
| OpenAI | Required | Server container only | Hosted embeddings, familiar models |
| Cohere | Required | Server container only | Multilingual and v4 models |
Vector namespaces (you upload precomputed vectors) do not use these providers for ingest or vector search. You only need a provider if you use text upload or text search.
Or on first run:
If no config exists, moorcheh up runs the same interactive wizard before starting Docker.
Saved settings:
| File | Contents |
|---|
~/.moorcheh/config.json | provider, model, api_key (cloud only), base_url |
~/.moorcheh/data/ | Namespaces and items (unchanged) |
Re-run setup:
moorcheh configure --force
See moorcheh configure and moorcheh up.
Supported models and dimensions
Use the same model for all text namespaces on one server. When creating a vector namespace, set vector_dimension to match your embedding model output (text namespaces infer dimension from the first embed).
Ollama (local)
| Model ID | Dimensions | Notes |
|---|
nomic-embed-text | 768 | Recommended default |
mxbai-embed-large | 1024 | Higher quality, larger download |
all-minilm | 384 | Smaller, faster |
Moorcheh pulls the selected model automatically on moorcheh up when Ollama is reachable (host or bundled). You do not need a separate ollama pull unless you skipped pull with --skip-ollama-model-pull.
OpenAI
| Model ID | Dimensions | Notes |
|---|
text-embedding-3-small | 1536 (default) | Recommended |
text-embedding-3-large | 3072 (default) | Higher quality |
text-embedding-ada-002 | 1536 | Legacy |
API key is stored in config.json (file mode 600 on Unix). The server calls OpenAI from inside the container; outbound HTTPS is required.
Cohere
| Model ID | Dimensions | Notes |
|---|
embed-v4.0 | 1536 (fixed in Moorcheh) | Recommended; multimodal-capable API |
embed-english-v3.0 | 1024 | English-optimized |
embed-multilingual-v3.0 | 1024 | 100+ languages |
API key required. Base URL default: https://api.cohere.com/v2.
Do not mix embedding models across text namespaces on the same instance. Existing namespaces were built with one vector size; changing the model without re-uploading will break search quality and dimension checks.
What moorcheh up does by provider
| Provider | Containers started | Embedding model pull |
|---|
| openai / cohere | moorcheh-onprem-server | N/A (cloud) |
| ollama (host running) | Server only | Auto-pull if missing |
| ollama (host down) | Server + moorcheh-ollama | Auto-pull after Ollama is ready |
Override flags: --embedding-provider, --embedding-model, --embedding-api-key, --bundled-ollama, --use-host-ollama. See moorcheh up.
Health check
GET /health and moorcheh status return:
{
"status": "ok",
"embedding_provider": "ollama",
"model": "nomic-embed-text",
"items": 0,
"max_items": 100000,
"remaining": 100000
}