This guide shows how to enable the AI-assistant in Baserow, configure the required environment variables, and (optionally) turn on knowledge-base lookups via an embeddings server.
BASEROW_ENTERPRISE_ASSISTANT_LLM_MODEL remains the legacy fallback while the
ai-providers feature is disabled, or while its Kuma selection is unconfigured
or invalid. An explicit instance or workspace disable remains authoritative.gpt-oss-120b family. Other models can
work as well.For a fresh database-backed setup, enable ai-providers, then add a provider and
its models in the admin UI. On each model, choose whether it is available to Kuma,
AI Fields, or both, then select the Kuma model in the AI features section.
Availability permits a feature to choose a model; it does not force AI Fields to
use Kuma’s model. Use Test model to check every selected feature. AI Fields
check for a text response, while Kuma also checks tool calling.
For every existing installation, deploy this release with ai-providers still
disabled and wait for the previous web and worker processes to drain. If the
installation uses the * catch-all flag, first roll out an explicit list of the
other flags to every process on the currently installed release. Wait for all
wildcard-configured processes to drain before deploying the new image; do not combine
these changes in one rolling update. If configuration cannot be rolled out
separately, stop the old processes before starting the new release with the explicit
flag list. Pause changes to instance and workspace AI settings through the import and
feature switch.
The database-backed Google and Groq providers are configured through the admin UI,
not new provider environment variables. Add either provider after the old frontend
processes have drained; older
bundles cannot render these provider types. Also require active users to reload
Baserow, or close and reopen their tabs, before either provider can appear in API
or realtime payloads: draining the frontend processes does not replace JavaScript
already loaded by a browser. Keep the settings-write pause in place until that
client cutover is complete.
Preview both scopes before applying them, then enable the feature:
baserow migrate_ai_provider_settings --scope instance
baserow migrate_ai_provider_settings --scope workspace
baserow migrate_ai_provider_settings --scope instance --apply
baserow migrate_ai_provider_settings --scope workspace --apply
Review every warning before enabling the feature. Repair or explicitly accept
incomplete legacy settings and differences from an existing database provider. The
importer keeps an existing database provider in a conflict, while an incomplete
workspace override can inherit the instance provider after the switch. Keep the
settings-write pause in place while you redeploy or restart every web, backend, and
worker process with ai-providers enabled. Wait for every feature-disabled process
to drain before ending the pause; otherwise different process generations can resolve
different settings, or a workspace can change its legacy JSON after the command reads
it.
After the switch, republish each Application Builder site or Automation workflow that uses an AI integration without its own provider override. Older publications contain a snapshot of the inherited legacy workspace settings, while a new publication uses the live database-backed workspace provider. Integrations with an explicit provider override remain self-contained and do not need to be republished for this reason.
This command imports Baserow’s legacy AI provider configuration; it does not
import BASEROW_ENTERPRISE_ASSISTANT_LLM_MODEL or the provider-native credentials
used by Kuma. The assistant therefore stays on its legacy fallback until an
administrator configures the same provider connection in the database, marks and
tests a model for Kuma, and explicitly selects it. A database selection is
authoritative, so verify its credentials and endpoint before switching.
To roll back that selection, choose Use legacy environment model, which
also displays the configured model, in the instance AI feature settings. The choice
is disabled when neither BASEROW_ENTERPRISE_ASSISTANT_LLM_MODEL nor the deprecated
UDSPY_LM_MODEL fallback provides a model to the web-frontend process, which is
where that option is rendered: setting the variable on the backend alone leaves the
option disabled while the backend fallback still resolves. Choosing Disabled
deliberately keeps Kuma off.
When using the legacy fallback with Docker Compose or multiple services, set
BASEROW_ENTERPRISE_ASSISTANT_LLM_MODEL in both backend and frontend services.
# Required only for the legacy fallback
BASEROW_ENTERPRISE_ASSISTANT_LLM_MODEL=openai:gpt-5.2
OPENAI_API_KEY=your_api_key
# Optional - adjust LLM temperature (default: 0.3)
BASEROW_ENTERPRISE_ASSISTANT_LLM_TEMPERATURE=0.3
About temperature:
Choose one provider block and set its variables. pydantic-ai uses the standard
environment variables for each provider (e.g. OPENAI_API_KEY, GROQ_API_KEY).
BASEROW_ENTERPRISE_ASSISTANT_LLM_MODEL=openai:gpt-5.2
OPENAI_API_KEY=your_api_key
# Optional: point to an alternative OpenAI-compatible endpoint
OPENAI_BASE_URL=https://eu.api.openai.com/v1
# or
OPENAI_BASE_URL=https://<your-resource-name>.openai.azure.com
BASEROW_ENTERPRISE_ASSISTANT_LLM_MODEL=anthropic:claude-sonnet-4-20250514
ANTHROPIC_API_KEY=your_api_key
pydantic-ai supports two authentication methods for Bedrock. Use whichever matches your setup.
Option A — Standard AWS credentials (boto3)
BASEROW_ENTERPRISE_ASSISTANT_LLM_MODEL=bedrock:openai.gpt-oss-120b-1:0
AWS_ACCESS_KEY_ID=your_access_key
AWS_SECRET_ACCESS_KEY=your_secret_key
AWS_DEFAULT_REGION=eu-central-1
Any boto3-compatible credential method works: env vars, IAM roles, instance profiles, ~/.aws/credentials, etc.
Option B — Bedrock bearer token
BASEROW_ENTERPRISE_ASSISTANT_LLM_MODEL=bedrock:openai.gpt-oss-120b-1:0
AWS_BEARER_TOKEN_BEDROCK=your_bearer_token
AWS_DEFAULT_REGION=eu-central-1
BASEROW_ENTERPRISE_ASSISTANT_LLM_MODEL=groq:openai/gpt-oss-120b
GROQ_API_KEY=your_api_key
BASEROW_ENTERPRISE_ASSISTANT_LLM_MODEL=google:gemini-3.6-flash
GOOGLE_API_KEY=your_api_key
Create the key in Google AI Studio. For Vertex AI,
use the google-cloud prefix instead: GOOGLE_API_KEY is then treated as a Vertex AI
Express Mode key, while project-based access uses Application Default Credentials.
BASEROW_ENTERPRISE_ASSISTANT_LLM_MODEL=ollama:gpt-oss:120b
# Point to your Ollama instance (defaults to http://localhost:11434/v1)
OLLAMA_BASE_URL=http://localhost:11434/v1
pydantic-ai auto-detects the provider from the model prefix and routes requests accordingly.
If your deployment method doesn’t auto-provision embeddings, run the Baserow embeddings service and point Baserow at it.
For developers using Docker Compose: See embeddings-server.md for setup instructions.
docker run -d --name baserow-embeddings -p 80:80 baserow/embeddings:latest
BASEROW_EMBEDDINGS_API_URL=http://your-embedder-service
# e.g., http://localhost if you mapped -p 80:80 locally
# Then restart Baserow and allow migrations to run.
After restart and migrations, knowledge-base lookup will be available.
If the assistant is not visible in the sidebar or doesn’t work, verify that:
Use one of these configurations:
BASEROW_ENTERPRISE_ASSISTANT_LLM_MODEL in both backend and frontend services,
with its provider credentials available to the backend.An explicit Kuma disable does not use the legacy fallback.
To check if the variables are set correctly in development, from the host run:
# Check backend
just dcd run --rm backend bash -c env | grep LLM_MODEL
just dcd run --rm backend bash -c env | grep API_KEY
# Check frontend
just dcd run --rm web-frontend bash -c env | grep LLM_MODEL
Both commands must return the same value for BASEROW_ENTERPRISE_ASSISTANT_LLM_MODEL. If either is missing or they differ, update your environment configuration and restart the services.
OpenAI, Anthropic, AWS Bedrock, Groq, Gemini/Vertex AI and any OpenAI-compatible endpoint (Azure, DeepSeek, Fireworks, LiteLLM, Perplexity, Together AI, etc.).
The assistant previously used UDSPy as its agent framework. It now uses pydantic-ai. Most environment variables are unchanged or bridged for backward compatibility.
| Variable | Notes |
|---|---|
BASEROW_ENTERPRISE_ASSISTANT_LLM_MODEL |
Continues as the fallback while the database selection is unconfigured or invalid, but not when it is explicitly disabled. Both provider/model and provider:model formats are accepted. |
BASEROW_ENTERPRISE_ASSISTANT_LLM_TEMPERATURE |
Still supported. Overrides the orchestrator temperature when set. |
OPENAI_API_KEY |
Unchanged. |
GROQ_API_KEY |
Unchanged. |
AWS_BEARER_TOKEN_BEDROCK |
Still works — pydantic-ai supports Bedrock bearer token auth natively. |
| Old variable | Equivalent | Notes |
|---|---|---|
UDSPY_LM_MODEL |
BASEROW_ENTERPRISE_ASSISTANT_LLM_MODEL |
If set and the new var is absent, the old value is used automatically. |
UDSPY_LM_API_KEY |
OPENAI_API_KEY / GROQ_API_KEY / etc. |
Propagated to all provider key variables as a fallback. |
UDSPY_LM_OPENAI_COMPATIBLE_BASE_URL |
OPENAI_BASE_URL |
Still works; bridged automatically. |
AWS_REGION_NAME |
AWS_DEFAULT_REGION |
Still works; bridged automatically. |
| Variable | Notes |
|---|---|
OPENAI_BASE_URL |
Preferred replacement for UDSPY_LM_OPENAI_COMPATIBLE_BASE_URL. |
AWS_DEFAULT_REGION |
Preferred replacement for AWS_REGION_NAME. |
OLLAMA_BASE_URL |
Replaces UDSPY_LM_OPENAI_COMPATIBLE_BASE_URL for Ollama. Defaults to http://localhost:11434/v1. |
ANTHROPIC_API_KEY |
New provider — Anthropic models are now supported. |