Skip to main content
Spaceduck has two independent model subsystems:
  • Chat model — generates responses in conversations
  • Embedding model — powers semantic memory recall
You configure each independently. They can use the same provider, different providers, or even a mix of local and cloud.

Local vs cloud

Local

llama.cpp and LM Studio run models on your hardware. No API keys, no data leaves your machine. Requires downloading model files and enough RAM/VRAM.

Cloud

Bedrock, Gemini, and OpenRouter run models on remote infrastructure. Requires an API key. No local hardware requirements beyond the gateway itself.

Available providers

Local

ProviderChatEmbeddingsDefault URL
llama.cppYesYes (separate server)http://127.0.0.1:8080/v1
LM StudioYesYeshttp://localhost:1234/v1

Cloud

ProviderChatEmbeddingsAuth
AWS BedrockYesYes (Titan / Nova)Bearer token
Google GeminiYesYesAPI key
OpenRouterYesNoAPI key

The two-server pattern

A common local setup runs chat and embeddings on separate servers: This works because chat and embeddings are independent subsystems. Configure them separately in Settings:
  • Settings > Chat — provider, base URL, model, API key
  • Settings > Memory — embedding provider, base URL, model, dimensions
The two-server pattern also works with cloud providers (e.g., llama.cpp for chat, Bedrock for embeddings) or any combination.

Hot-swapping

Chat provider changes (provider, model, base URL, system prompt) take effect immediately — no gateway restart needed. Embedding provider changes require a restart and may invalidate existing vector memory if the model or dimensions change.
Changing your embedding model or dimensions will make previously stored vectors incompatible. You’ll need to rebuild your vector memory after switching.

Choosing a provider

PriorityRecommended
Privacy first, no cloudllama.cpp or LM Studio
Best quality, cost is fineBedrock (Claude, Nova) or Gemini
Widest model selectionOpenRouter
Simple local setupLM Studio (built-in model browser)
Maximum controlllama.cpp (direct llama-server flags)