Configuration Reference

Two configuration documents — when to read which. This page is the authoritative complete reference, grouped by the Python class that reads each variable — use it as a lookup table when wiring up your .env. For a purpose-grouped tour (LLM / RAG / DB / observability) read top-to-bottom, see the Configuration guide. When the two pages disagree on a default, this page wins (it mirrors the source code directly).

A full reference of environment variables read by Vedana, grouped by the Python class that reads them.

All three classes below use env_prefix="" and read the same .env file. That means a single env variable like MODEL is read by every class that declares it. The “default” column is the value used only when the variable is absent from .env and the runtime environment — in any real deployment .env.example sets it explicitly.

Vedana Core (VedanaCoreSettings)

File: libs/vedana-core/src/vedana_core/settings.py.

VariableTypeDefaultDescription
GRIST_SERVER_URLstrGrist base URL (http://grist:8484 or https://api.getgrist.com).
GRIST_API_KEYstrGrist API key.
GRIST_DATA_MODEL_DOC_IDstrDocId of the document with the data model.
GRIST_DATA_DOC_IDstrDocId of the document with the data.
DEBUGboolfalseVerbose logs and dev features.
MODELstrgpt-4.1Main LLM model used by RagPipeline / RagAgent for answer generation and Cypher. This is the value that wins in the standard pipeline — Vedana Core overrides the inner LLM provider on every call.
ENABLE_DM_FILTERINGbooltrueEnable the data model filtering step.
FILTER_MODELstrgpt-4.1-miniModel used for filtering.
JUDGE_MODELstrgpt-4.1-miniModel used for evaluation (LLM-as-judge).
EMBEDDINGS_MODELstrtext-embedding-3-largeEmbeddings model.
EMBEDDINGS_DIMint1024Embedding dimensions.
PIPELINE_HISTORY_LENGTHint20How many recent comm.* messages go into the context.
MEMGRAPH_URIstrMemgraph Bolt URI.
MEMGRAPH_USERstrMemgraph user.
MEMGRAPH_PWDstrMemgraph password.

LLM Provider (LLMSettings)

File: libs/jims-core/src/jims_core/llms/llm_provider.py.

LLMSettings is the inner provider used by jims-core. It reads the same MODEL env var as VedanaCoreSettings, but if you instantiate jims-core standalone (without vedana-core), no override happens and the fallback default (gpt-4.1-nano) applies.

Which MODEL actually runs? In the standard Vedana stack the two classes read the same env var, so whatever you put in .env (e.g. MODEL=gpt-4.1-mini) is used by both. The defaults differ only as a safety net for standalone jims-core users who don’t set the env var: vedana-core falls back to gpt-4.1 (heavier, better tool-calling), jims-core falls back to gpt-4.1-nano (cheap, OK for non-RAG flows). For all production deployments — set MODEL explicitly in .env.

VariableTypeDefaultDescription
MODELstrgpt-4.1-nanoFallback model for jims-core standalone use. Overridden by vedana-core in the standard pipeline.
EMBEDDINGS_MODELstrtext-embedding-3-largeEmbeddings model.
EMBEDDINGS_DIMint1024Dimensionality.
EMBEDDINGS_MAX_BATCH_SIZEint2048Max texts per embeddings batch.
EMBEDDINGS_MAX_TOKENS_PER_BATCHint200000Max tokens per batch.
MODEL_API_KEYstrNoneIf set, overrides the key for the main model.
EMBEDDINGS_MODEL_API_KEYstrNoneSame for embeddings.
OPENROUTER_API_BASE_URLstrhttps://openrouter.ai/api/v1OpenRouter endpoint.

Provider keys (OPENAI_API_KEY, OPENROUTER_API_KEY, GOOGLE_APPLICATION_CREDENTIALS, etc.) are read by LiteLLM from standard env vars.

ETL (vedana_etl.settings.Settings)

File: libs/vedana-etl/src/vedana_etl/settings.py.

VariableTypeDefaultDescription
DB_CONN_URIstrPostgres connection URI for Datapipe.
GRIST_TEST_SET_DOC_IDstremptyDocId of the document with the golden dataset.
GDS_TABLE_NAMEstrGdsTable name in the test set doc.
TESTS_TABLE_NAMEstrTestsTest table name in the test set doc.
TEST_ENVIRONMENTstremptyEnvironment label for evaluation results.

Database

VariableTypeDefaultDescription
JIMS_DB_CONN_URIstrPostgres URI for JIMS.
JIMS_DB_USE_NULL_POOLboolfalseDisable the connection pool (for serverless).
JIMS_DB_POOL_SIZEintSQLA defaultPool size.
JIMS_DB_POOL_MAX_OVERFLOWintSQLA defaultExtra connections above the pool.
CREATE_PGVECTOR_EXTENSIONbooltrueCreate the pgvector extension via migration.

Backoffice

VariableTypeDefaultDescription
VEDANA_BACKOFFICE_DEBUGbooltrue (in .env.example)Dev-only features in the backoffice.

Telegram

VariableTypeDescription
TELEGRAM_BOT_TOKENstrBot token from BotFather.

Sentry

VariableTypeDescription
SENTRY_DSNstrSentry endpoint. Empty means off.
SENTRY_ENVIRONMENTstrEnvironment name shown in Sentry.

Datapipe

VariableTypeDefaultDescription
DATAPIPE_PIPELINEstrvedana_etl.appDatapipe pipeline entry point.

Prefixes and read order

  • vedana_core.settings uses env_prefix="" (no prefix) and reads apps/vedana/.env (working directory must be apps/vedana).
  • vedana_etl.settings — same.
  • jims_core.llms.llm_provider.LLMSettings — same.
  • JIMS CLI wrappers use auto_envvar_prefix="JIMS" (click), so the --api-key flag can be provided as JIMS_API_KEY=....

.env.example vs .env.ci-cd

apps/vedana/ ships with two ready profiles:

  • .env.example — for local development; references db, memgraph, grist (the docker-compose service names).
  • .env.ci-cd — for CI; uses localhost addresses and test keys.

For production, create your own profile and never commit secret keys (.env is in .gitignore).