Environment Variables
To set a value to an environment variable, use the following syntax:
Example
Using an environment variable for API key:
Setting Environment Variables
To set environment variables:
In the VSCode Playground
Once you open a .baml
file, in VSCode, you should see a small button over every BAML function: Open Playground
.
Then you should be able to set environment variables in the settings tab.
Or type BAML Playground
in the VSCode Command Bar (CMD + Shift + P
or CTRL + Shift + P
) to open the playground.
For your app (default)
BAML will expect these to be set already in your program before you import the baml_client in Python/ TS / etc.
Any of the following strategies for setting env vars are compatible with BAML:
- setting them in your shell before running your program
- in your
Dockerfile
- in your
next.config.js
- in your Kubernetes manifest
- from secrets-store.csi.k8s.io
- from a secrets provider such as Infisical / Doppler
- from a
.env
file (usingdotenv
cli) - using account credentials for ephemeral token generation (e.g. Vertex AI Auth Tokens)
For your app (manually)
Requires BAML Version 0.57+
If you don’t want BAML to try to auto-load your env vars, you can call manually reset_baml_env_vars
with the current environment variables.
Error Handling
Errors for unset environment variables are only thrown when the variable is accessed. If your BAML project has 15 environment variables and 1 is used for the function you are calling, only that one environment variable will be checked for existence.