By default, Kelu answers with its own models on its own account. You can switch a workspace to your own provider account, so answers are billed to you and can use any model your provider offers. Only workspace owners and admins can change this. It applies to every knowledge base in the workspace.

Set up

1

Open the settings

Go to Settings → AI Model. Under Where does inference run?, pick Your provider account or Self-hosted.
2

Choose a provider and model

Pick a provider (see below), then pick a model from the list or type any model ID your provider serves.
3

Enter your key

Paste your API key. For Amazon Bedrock, enter the region, access key ID and secret access key.
4

Test and save

Click Test connection. Kelu makes one small call to your provider and shows its error if the call fails. Then click Save changes.
Optionally set Max tokens (100 to 32,000) and Temperature (0 to 2). Left empty, Kelu’s defaults apply. To go back to Kelu’s models, click Revert to default. Your key is encrypted before it is stored and is never shown again. If the page says Provider keys cannot be stored on this deployment, keys cannot be saved.

Providers

ProviderModels listed in the dashboard
OpenAIgpt-4o-mini, gpt-4o, gpt-4.1-mini, gpt-4.1
Anthropicclaude-3-5-haiku-latest, claude-3-5-sonnet-latest
Google Geminigemini-1.5-flash, gemini-1.5-pro
Amazon BedrockClaude Sonnet 4.5, Claude Haiku 4.5, Amazon Nova Pro and Lite, Llama 3.3 70B, Mistral Large
You can type any other model name. Kelu does not check it against a list.

OpenAI-compatible vendors

These use the OpenAI format. The dashboard fills in the address for you.
VendorAddress
Groqhttps://api.groq.com/openai/v1
Together AIhttps://api.together.xyz/v1
Fireworks AIhttps://api.fireworks.ai/inference/v1
DeepSeekhttps://api.deepseek.com/v1
xAI (Grok)https://api.x.ai/v1
Mistral AIhttps://api.mistral.ai/v1
Cerebrashttps://api.cerebras.ai/v1
DeepInfrahttps://api.deepinfra.com/v1/openai
OpenRouterhttps://openrouter.ai/api/v1
The key is sent as a bearer token. Endpoints that need a different header are not supported.

Self-hosted models

Choose Self-hosted to use a model server such as Ollama, vLLM, LM Studio or LocalAI. Pick the API format it speaks (usually OpenAI) and enter its address.
The address must use https and be reachable from the internet. Kelu refuses http://, localhost and private network addresses, so a server on your own network needs a public https address in front of it.

Amazon Bedrock

Enter the region, an AWS access key ID and a secret access key. The model is an inference profile ID whose prefix matches your region, such as us.anthropic.claude-sonnet-4-5-20250929-v1:0. Kelu never uses its own AWS account for your workspace.

What runs on your account

The AI Model page shows, under What runs on your account, which steps your key pays for:
StepOn your account?
AnswersYes
Query planningYes
Passage scoringYes, unless Kelu scores passages with its own reranking model
EmbeddingsOnly with an OpenAI key on the OpenAI API. Your documents were indexed with Kelu’s embedding model, so other keys cannot be used for it.

API

GET    https://app.kelu.dev/api/v1/workspaces/:id/llm-settings
PATCH  https://app.kelu.dev/api/v1/workspaces/:id/llm-settings
DELETE https://app.kelu.dev/api/v1/workspaces/:id/llm-settings
POST   https://app.kelu.dev/api/v1/workspaces/:id/llm-settings/test
FieldDescription
provideropenai, anthropic, gemini or bedrock. For an OpenAI-compatible vendor, use openai
api_keyYour key. Never returned; GET reports has_api_key instead
base_urlOptional. The vendor’s address, or https://bedrock-runtime.<region>.amazonaws.com for Bedrock
modelThe model ID
max_tokens, temperatureOptional. 100–32,000 and 0–2
  • test makes one small call. Leave out api_key to test the saved key. A rejected key returns 502 with the provider’s message.
  • DELETE returns the workspace to Kelu’s models.
  • For Bedrock, api_key is JSON ({"access_key_id": "…", "secret_access_key": "…", "session_token": "…"}), ACCESS:SECRET[:REGION[:SESSION_TOKEN]], or a Bedrock API key.