Environment variables
Langflow 使用环境变量来配置某些设置。 您还可以导入环境变量以用于您的部署,例如流程中某些组件使用到的环境变量。
您可以在终端、.env
文件以及通过 Langflow CLI 中设置 Langflow 环境变量。
环境变量与全局变量
环境变量如 LANGFLOW_PORT
或 LANGFLOW_LOG_LEVEL
用于配置 Langflow 的运行方式,而全局变量是存储在 Langflow 数据库中的用户定义值,可在流程中重复使用,例如 OPENAI_API_KEY
。
当 Langflow 启动时,某些环境变量会自动转换为全局变量。有关更多信息,请参阅默认环境变量。
要添加自定义全局变量,请参阅从环境添加自定义全局变量。
优先级
如果环境变量在多个地方被设置,则适用以下层次结构:
-
Langflow CLI 选项覆盖所有其他来源。
-
.env
文件覆盖系统环境变量。 -
仅在其他地方未设置时才使用系统环境变量。
运行 Langflow Docker 镜像时,
-e
标志设置系统环境变量。例如:
- 如果您在系统环境中设置
LANGFLOW_PORT=8080
,在.env
中设置LANGFLOW_PORT=7860
,Langflow 将使用.env
中的7860
。 - 如果您运行
langflow run --port 9000
且.env
中有LANGFLOW_PORT=7860
,Langflow 将使用 CLI 选项中的9000
。
- 如果您在系统环境中设置
配置环境变量
Langflow 从以下来源识别 支持的环境变量:
- 您在终端中设置的环境变量。
- 启动 Langflow 时从
.env
文件导入的环境变量,或在 Langflow CLI 中使用--env-file
选项导入的环境变量。
您可以选择使用一个或两个来源。
但是,从 .env
文件导入的环境变量优先级高于在终端中设置的环境变量。
在终端中设置环境变量
运行以下命令为当前终端会话设置环境变量:
- Linux 或 macOS
- Windows
- Docker
_10export VARIABLE_NAME='VALUE'
_10set VARIABLE_NAME='VALUE'
_10docker run -it --rm \_10 -p 7860:7860 \_10 -e VARIABLE_NAME='VALUE' \_10 langflowai/langflow:latest
当您启动 Langflow 时,它会查找您在终端中设置的环境变量。 如果检测到支持的环境变量,则会根据 优先级规则 自动采用指定的值。
从 .env 文件导入环境变量
-
如果 Langflow 正在运行,请退出 Langflow。
-
创建一个
.env
文件,然后在您喜欢的编辑器中打开它。 -
在
.env
文件中定义 Langflow 环境变量。例如:_30DO_NOT_TRACK=True_30LANGFLOW_AUTO_LOGIN=False_30LANGFLOW_AUTO_SAVING=True_30LANGFLOW_AUTO_SAVING_INTERVAL=1000_30LANGFLOW_BACKEND_ONLY=False_30LANGFLOW_BUNDLE_URLS=["https://github.com/user/repo/commit/hash"]_30LANGFLOW_CACHE_TYPE=async_30LANGFLOW_COMPONENTS_PATH=/path/to/components/_30LANGFLOW_CONFIG_DIR=/path/to/config/_30LANGFLOW_DATABASE_URL=postgresql://user:password@localhost:5432/langflow_30LANGFLOW_DEV=False_30LANGFLOW_FALLBACK_TO_ENV_VAR=False_30LANGFLOW_HEALTH_CHECK_MAX_RETRIES=5_30LANGFLOW_HOST=localhost_30LANGFLOW_LANGCHAIN_CACHE=InMemoryCache_30LANGFLOW_MAX_FILE_SIZE_UPLOAD=10000_30LANGFLOW_MAX_ITEMS_LENGTH=100_30LANGFLOW_MAX_TEXT_LENGTH=1000_30LANGFLOW_LOG_LEVEL=error_30LANGFLOW_OPEN_BROWSER=False_30LANGFLOW_PORT=7860_30LANGFLOW_REMOVE_API_KEYS=False_30LANGFLOW_SAVE_DB_IN_CONFIG_DIR=True_30LANGFLOW_SECRET_KEY=somesecretkey_30LANGFLOW_STORE=True_30LANGFLOW_STORE_ENVIRONMENT_VARIABLES=True_30LANGFLOW_SUPERUSER=adminuser_30LANGFLOW_SUPERUSER_PASSWORD=adminpass_30LANGFLOW_WORKER_TIMEOUT=60000_30LANGFLOW_WORKERS=3更多示例,请参阅 Langflow 仓库中的
.env.example
文件。 -
保存并关闭
.env
。 -
使用您的
.env
文件启动 Langflow:- 本地
- Docker
_10uv run langflow run --env-file .env_10docker run -it --rm \_10-p 7860:7860 \_10--env-file .env \_10langflowai/langflow:latest如果您的
.env
文件不在同一目录,请提供.env
文件的路径。
启动时,Langflow 会从您的 .env
文件导入环境变量,以及您在终端中设置的其他任何环境变量,然后采用它们指定的值。
支持的环境变量
下表列出了 Langflow 支持的环境变量。
身份验证和安全
变量 | 格式 | 默认值 | 描述 |
---|---|---|---|
LANGFLOW_AUTO_LOGIN | 布尔值 | True | 参见身份验证变量。 |
LANGFLOW_SKIP_AUTH_AUTO_LOGIN | 布尔值 | True | 参见身份验证变量。 |
LANGFLOW_SECRET_KEY | 字符串 | 自动生成 | 参见身份验证变量。 |
LANGFLOW_SUPERUSER | 字符串 | langflow | 参见身份验证变量。 |
LANGFLOW_SUPERUSER_PASSWORD | 字符串 | langflow | 参见身份验证变量。 |
LANGFLOW_ENABLE_SUPERUSER_CLI | 布尔值 | True | 参见身份验证变量。 |
LANGFLOW_NEW_USER_IS_ACTIVE | 布尔值 | False | 参见身份验证变量。 |
LANGFLOW_REMOVE_API_KEYS | 布尔值 | False | 当 true 时,在保存到数据库之前会自动从流程数据中移除 API 密钥和令牌。名称中包含 api 、key 或 token 且被标记为密码字段的字段,其值将被设置为 null 。这可以防止凭据被存储在数据库中。 |
LANGFLOW_DISABLE_TRACK_APIKEY_USAGE | 布尔值 | False | 是否跟踪 API 密钥使用情况。如果为 true,则禁用 API 密钥使用情况(total_uses 和 last_used_at )的跟踪,以避免在高并发情况下出现数据库争用。 |
LANGFLOW_WEBHOOK_AUTH_ENABLE | 布尔值 | False | 为 Webhook 端点启用 API 密钥身份验证。如果为 false,Webhook 将以流程所有者身份运行,无需身份验证。 |
有关身份验证配置的详细信息,请参阅 API 密钥和身份验证。
缓存配置
变量 | 格式 | 默认值 | 描述 |
---|---|---|---|
LANGFLOW_CACHE_TYPE | 字符串 | async | 设置 Langflow 的缓存类型。可能的值:async 、redis 、memory 、disk 。如果将类型设置为 redis ,则还必须设置以下环境变量:LANGFLOW_REDIS_HOST 、LANGFLOW_REDIS_PORT 、LANGFLOW_REDIS_DB 和 LANGFLOW_REDIS_CACHE_EXPIRE 。另请参见 langflow run 。 |
LANGFLOW_LANGCHAIN_CACHE | 字符串 | InMemoryCache | 要使用的缓存存储类型,与 LANGFLOW_CACHE_TYPE 分开。可能的值:InMemoryCache 、SQLiteCache 。参见 缓存配置。 |
LANGFLOW_REDIS_HOST | 字符串 | localhost | 缓存的 Redis 主机。参见 LANGFLOW_CACHE_TYPE 。 |
LANGFLOW_REDIS_PORT | 字符串 | 6379 | 缓存的 Redis 端口。参见 LANGFLOW_CACHE_TYPE 。 |
LANGFLOW_REDIS_DB | 整数 | 0 | 缓存的 Redis 数据库编号。参见 LANGFLOW_CACHE_TYPE 。 |
LANGFLOW_REDIS_PASSWORD | 字符串 | 未设置 | 使用 Redis 缓存类型时的 Redis 身份验证密码。 |
LANGFLOW_REDIS_CACHE_EXPIRE | 整数 | 3600 | 缓存过期时间(秒)。参见 LANGFLOW_CACHE_TYPE 。 |
有关缓存配置的详细信息,请参阅 内存管理选项。
数据库配置
变量 | 格式 | 默认值 | 描述 |
---|---|---|---|
LANGFLOW_DATABASE_URL | String | 未设置 | 设置 Langflow 的数据库 URL。如果未提供,Langflow 将使用 SQLite 数据库。请参阅 数据库配置。 |
LANGFLOW_DATABASE_CONNECTION_RETRY | Boolean | False | 是否重试与 Langflow 数据库的断开连接。如果为 true,当连接失败时,Langflow 会尝试重新连接到数据库。 |
LANGFLOW_DB_CONNECT_TIMEOUT | Integer | 30 | 在放弃等待锁释放或建立数据库连接之前等待的秒数。 |
LANGFLOW_DB_CONNECTION_SETTINGS | JSON | 未设置 | 用于集中数据库连接参数的 JSON 字典。示例:{"pool_size": 20, "max_overflow": 30} 。请参阅 数据库配置。 |
LANGFLOW_DB_POOL_SIZE | Integer | 20 | 已弃用: 请改用 LANGFLOW_DB_CONNECTION_SETTINGS 。连接池中保持打开的连接数。 |
LANGFLOW_DB_MAX_OVERFLOW | Integer | 30 | 已弃用: 请改用 LANGFLOW_DB_CONNECTION_SETTINGS 。允许在池大小之外打开的连接数。 |
LANGFLOW_SAVE_DB_IN_CONFIG_DIR | Boolean | False | 如果为 false(默认值),Langflow 数据库将保存在 langflow 根目录中。这意味着数据库不会在不同的虚拟环境之间共享,并且在卸载 Langflow 时数据库会被删除。如果为 true,数据库将保存在 LANGFLOW_CONFIG_DIR 中。 |
LANGFLOW_USE_NOOP_DATABASE | Boolean | False | 如果为 true,禁用所有数据库操作并使用无操作会话。对测试很有用。 |
有关数据库配置的详细信息,请参阅 内存管理选项。
文件和数据管理
变量 | 格式 | 默认值 | 描述 |
---|---|---|---|
LANGFLOW_CONFIG_DIR | String | 因环境而异 | 设置 Langflow 配置目录,用于存储文件、日志和 Langflow 数据库。默认路径取决于您的安装方式。请参阅 流存储和日志。 |
LANGFLOW_COMPONENTS_PATH | String | 未设置 | 包含自定义组件的目录 路径。 |
LANGFLOW_FRONTEND_PATH | String | ./frontend | 包含构建文件的前端目录路径。这仅用于开发目的。请参阅 langflow run 。 |
LANGFLOW_MAX_FILE_SIZE_UPLOAD | Integer | 100 | 设置上传文件的最大大小(以兆字节为单位)。请参阅 langflow run 。 |
LANGFLOW_MAX_ITEMS_LENGTH | Integer | 100 | 在可视化编辑器中存储和显示的最大项目数。超过此长度的列表在可视化编辑器中显示时将被截断。不影响组件之间传递的数据或输出。 |
LANGFLOW_MAX_TEXT_LENGTH | Integer | 1000 | 在可视化编辑器中存储和显示的最大字符数。超过此长度的响应在可视化编辑器中显示时将被截断。不会截断组件之间或输出的响应。 |
LANGFLOW_STORAGE_TYPE | String | local | 用于文件上传和数据的存储类型。 |
LANGFLOW_MAX_TRANSACTIONS_TO_KEEP | Integer | 3000 | 在数据库中保留的最大事务数。 |
LANGFLOW_MAX_VERTEX_BUILDS_TO_KEEP | Integer | 3000 | 在数据库中保留的最大顶点构建数。 |
LANGFLOW_MAX_VERTEX_BUILDS_PER_VERTEX | Integer | 2 | 每个顶点保留的最大构建数。较旧的构建将被删除。 |
流程和项目管理
变量 | 格式 | 默认值 | 描述 |
---|---|---|---|
LANGFLOW_AUTO_SAVING | Boolean | True | 启用流程自动保存。 |
LANGFLOW_AUTO_SAVING_INTERVAL | Integer | 1000 | 设置流程自动保存的间隔(毫秒)。 |
LANGFLOW_BUNDLE_URLS | List[String] | [] | 用于加载组件包和流程的URL列表。支持GitHub URL。如果启用了LANGFLOW_AUTO_LOGIN,则这些包中的流程将被加载到数据库中。 |
LANGFLOW_LOAD_FLOWS_PATH | String | 未设置 | 包含启动时要加载的流程JSON文件的目录路径。请注意,此功能仅在启用LANGFLOW_AUTO_LOGIN 时才有效。 |
LANGFLOW_CREATE_STARTER_PROJECTS | Boolean | True | 是否在初始化期间创建模板。如果为false,Langflow不会创建模板,并且LANGFLOW_UPDATE_STARTER_PROJECTS 将被视为false。 |
LANGFLOW_UPDATE_STARTER_PROJECTS | Boolean | True | 在升级后初始化时,是否使用最新组件版本更新模板。 |
LANGFLOW_LAZY_LOAD_COMPONENTS | Boolean | False | 如果为true,Langflow在启动时仅部分加载组件,并在需要时完全加载它们。这显著减少了启动时间,但在首次使用组件时可能会导致轻微延迟。 |
LANGFLOW_EVENT_DELIVERY | String | streaming | 如何将构建事件传递到前端。可以是'polling'、'streaming'或'direct'。 |