跳到主要内容

环境变量

Langflow 允许您使用环境变量配置多个设置。

配置环境变量

Langflow 从以下来源识别支持的环境变量

  • 您在终端中设置的环境变量。
  • 使用 Langflow CLI 中的 --env-file 选项从 .env 文件导入的环境变量。

您可以选择专门使用一个来源,或同时使用两个来源。 如果您选择同时使用两个来源,请注意从 .env 文件导入的环境变量会优先于在终端中设置的环境变量。

在终端中设置环境变量

运行以下命令为当前终端会话设置环境变量:


_10
export VARIABLE_NAME='VALUE'

当您启动 Langflow 时,它会查找您在终端中设置的环境变量。 如果检测到支持的环境变量,则会根据优先级规则自动采用指定的值。

从 .env 文件导入环境变量

  1. 创建一个 .env 文件并在您喜欢的编辑器中打开它。

  2. 将您的环境变量添加到文件中:


    _28
    DO_NOT_TRACK=true
    _28
    LANGFLOW_AUTO_LOGIN=false
    _28
    LANGFLOW_AUTO_SAVING=true
    _28
    LANGFLOW_AUTO_SAVING_INTERVAL=1000
    _28
    LANGFLOW_BACKEND_ONLY=false
    _28
    LANGFLOW_BUNDLE_URLS=["https://github.com/user/repo/commit/hash"]
    _28
    LANGFLOW_CACHE_TYPE=async
    _28
    LANGFLOW_COMPONENTS_PATH=/path/to/components/
    _28
    LANGFLOW_CONFIG_DIR=/path/to/config/
    _28
    LANGFLOW_DATABASE_URL=postgresql://user:password@localhost:5432/langflow
    _28
    LANGFLOW_DEV=false
    _28
    LANGFLOW_FALLBACK_TO_ENV_VAR=false
    _28
    LANGFLOW_HEALTH_CHECK_MAX_RETRIES=5
    _28
    LANGFLOW_HOST=127.0.0.1
    _28
    LANGFLOW_LANGCHAIN_CACHE=InMemoryCache
    _28
    LANGFLOW_MAX_FILE_SIZE_UPLOAD=10000
    _28
    LANGFLOW_LOG_LEVEL=error
    _28
    LANGFLOW_OPEN_BROWSER=false
    _28
    LANGFLOW_PORT=7860
    _28
    LANGFLOW_REMOVE_API_KEYS=false
    _28
    LANGFLOW_SAVE_DB_IN_CONFIG_DIR=true
    _28
    LANGFLOW_SECRET_KEY=somesecretkey
    _28
    LANGFLOW_STORE=true
    _28
    LANGFLOW_STORE_ENVIRONMENT_VARIABLES=true
    _28
    LANGFLOW_SUPERUSER=adminuser
    _28
    LANGFLOW_SUPERUSER_PASSWORD=adminpass
    _28
    LANGFLOW_WORKER_TIMEOUT=60000
    _28
    LANGFLOW_WORKERS=3

    提示

    Langflow 项目包含一个 .env.example 文件来帮助您入门。 您可以将此文件的内容复制到您自己的 .env 文件中,并将示例值替换为您自己的首选设置。

  3. 保存并关闭文件。

  4. 使用 --env-file 选项启动 Langflow 以定义 .env 文件的路径:


    _10
    python -m langflow run --env-file .env

在启动时,Langflow 会导入 .env 文件中的环境变量,以及您在终端中设置的任何变量,并采用其指定的值。

优先级

在 .env 文件中定义的环境变量优先于在终端中设置的环境变量。 这意味着,如果您恰好在终端和 .env 文件中都设置了相同的环境变量,Langflow 会采用 .env 文件中的值。

CLI 优先级

Langflow CLI 选项会覆盖 .env 文件中定义的相应环境变量以及在终端中设置的任何环境变量的值。

支持的环境变量

下表列出了 Langflow 支持的环境变量。

变量格式默认值描述
DO_NOT_TRACK布尔值false如果启用此选项,Langflow 不会跟踪遥测数据。
LANGFLOW_AUTO_LOGIN布尔值true启用 Langflow 的自动登录。设置为 false 以禁用自动登录并要求使用登录表单登录 Langflow UI。设置为 false 需要设置 LANGFLOW_SUPERUSERLANGFLOW_SUPERUSER_PASSWORD
LANGFLOW_AUTO_SAVING布尔值true启用流程自动保存。
参见 --auto-saving 选项
LANGFLOW_AUTO_SAVING_INTERVAL整数1000设置流程自动保存的间隔(毫秒)。
参见 --auto-saving-interval 选项
LANGFLOW_BACKEND_ONLY布尔值false仅运行 Langflow 的后端服务器(无前端)。
参见 --backend-only 选项
LANGFLOW_BUNDLE_URLSList[String][]用于加载组件包和流程的 URL 列表。支持 GitHub URL。如果启用了 LANGFLOW_AUTO_LOGIN,这些包中的流程将被加载到数据库中。
LANGFLOW_CACHE_TYPEasync
redis
memory
disk
critical
async设置 Langflow 的缓存类型。
如果将类型设置为 redis,则还必须设置以下环境变量:LANGFLOW_REDIS_HOSTLANGFLOW_REDIS_PORTLANGFLOW_REDIS_DBLANGFLOW_REDIS_CACHE_EXPIRE
LANGFLOW_COMPONENTS_PATH字符串langflow/components包含自定义组件的目录路径。
参见 --components-path 选项
LANGFLOW_CONFIG_DIR字符串见描述设置存储文件、日志和 Langflow 数据库的 Langflow 配置目录。默认值:Linux/WSL~/.cache/langflow/
macOS/Users/<username>/Library/Caches/langflow/
Windows%LOCALAPPDATA%\langflow\langflow\Cache
LANGFLOW_DATABASE_URL字符串未设置设置 Langflow 的数据库 URL。如果未提供,Langflow 使用 SQLite 数据库。
LANGFLOW_DATABASE_CONNECTION_RETRY布尔值false如果为 True,Langflow 在连接数据库失败时会尝试重新连接。
LANGFLOW_DB_POOL_SIZE整数10已弃用: 请使用 LANGFLOW_DB_CONNECTION_SETTINGS。连接池中保持打开的连接数。
LANGFLOW_DB_MAX_OVERFLOW整数20已弃用: 请使用 LANGFLOW_DB_CONNECTION_SETTINGS。允许超出池大小的连接数。
LANGFLOW_DB_CONNECT_TIMEOUT整数20在放弃等待锁释放或建立数据库连接之前的等待秒数。
LANGFLOW_DB_CONNECTION_SETTINGSJSON未设置用于集中数据库连接参数的 JSON 字典。示例:{"pool_size": 10, "max_overflow": 20}
LANGFLOW_DEV布尔值false在开发模式下运行 Langflow(可能包含错误)。
参见 --dev 选项
LANGFLOW_ENABLE_LOG_RETRIEVAL布尔值false启用日志检索功能。
LANGFLOW_FALLBACK_TO_ENV_VAR布尔值true如果启用,当 Langflow 无法检索变量值时,在 Langflow UI 中设置的全局变量会回退到具有相同名称的环境变量。
LANGFLOW_FRONTEND_PATH字符串./frontend包含构建文件的前端目录路径。这仅用于开发目的。
参见 --frontend-path 选项
LANGFLOW_HEALTH_CHECK_MAX_RETRIES整数5设置健康检查的最大重试次数。
参见 --health-check-max-retries 选项
LANGFLOW_HOST字符串127.0.0.1Langflow 服务器将运行的主机。
参见 --host 选项
LANGFLOW_LANGCHAIN_CACHEInMemoryCache
SQLiteCache
InMemoryCache要使用的缓存类型。
参见 --cache 选项
LANGFLOW_LOG_LEVELDEBUG
INFO
WARNING
ERROR
CRITICAL
INFO设置 Langflow 的日志级别。
LANGFLOW_LOG_FILE字符串未设置日志文件的路径。如果未设置此选项,日志将写入标准输出。
LANGFLOW_LOG_RETRIEVER_BUFFER_SIZE整数10000设置日志检索的缓冲区大小。仅在启用 LANGFLOW_ENABLE_LOG_RETRIEVAL 时使用。
LANGFLOW_MAX_FILE_SIZE_UPLOAD整数100设置上传文件的最大大小(兆字节)。
参见 --max-file-size-upload 选项
LANGFLOW_MCP_SERVER_ENABLED布尔值true如果此选项设置为 False,Langflow 不会启用 MCP 服务器。
LANGFLOW_MCP_SERVER_ENABLE_PROGRESS_NOTIFICATIONS布尔值false如果此选项设置为 True,Langflow 会在 MCP 服务器中发送进度通知。
LANGFLOW_NEW_USER_IS_ACTIVE布尔值false启用后,新用户将自动激活,无需超级用户显式激活即可登录。
LANGFLOW_OPEN_BROWSER布尔值false在启动时打开系统网络浏览器。
参见 --open-browser 选项
LANGFLOW_PORT整数7860Langflow 服务器运行的端口。如果指定的端口正在使用中,服务器会自动选择一个空闲端口。
参见 --port 选项
LANGFLOW_PROMETHEUS_ENABLED布尔值false暴露 Prometheus 指标。
LANGFLOW_PROMETHEUS_PORT整数9090设置 Langflow 暴露 Prometheus 指标的端口。
LANGFLOW_REDIS_CACHE_EXPIRE整数3600参见 LANGFLOW_CACHE_TYPE。
LANGFLOW_REDIS_DB整数0参见 LANGFLOW_CACHE_TYPE。
LANGFLOW_REDIS_HOST字符串localhost参见 LANGFLOW_CACHE_TYPE。
LANGFLOW_REDIS_PORT字符串6379参见 LANGFLOW_CACHE_TYPE。
LANGFLOW_REDIS_PASSWORD字符串未设置使用 Redis 缓存类型时的 Redis 认证密码。
LANGFLOW_REMOVE_API_KEYS布尔值false从数据库中保存的项目中删除 API 密钥。
参见 --remove-api-keys 选项
LANGFLOW_SAVE_DB_IN_CONFIG_DIR布尔值false将 Langflow 数据库保存在 LANGFLOW_CONFIG_DIR 中,而不是 Langflow 包目录中。注意,当此变量设置为默认值(false)时,数据库不会在不同的虚拟环境之间共享,并且在卸载 Langflow 时会被删除。
LANGFLOW_SECRET_KEY字符串自动生成用于加密敏感数据(如 API 密钥)的密钥。如果未提供密钥,则会自动生成一个安全密钥。对于具有多个实例的生产环境,您应该显式设置此值以确保实例之间的一致加密。
LANGFLOW_STORE布尔值true启用 Langflow Store。
参见 --store 选项
LANGFLOW_STORE_ENVIRONMENT_VARIABLES布尔值true将环境变量作为全局变量存储在数据库中。
LANGFLOW_UPDATE_STARTER_PROJECTS布尔值true如果启用此选项,Langflow 在初始化时会使用最新的组件版本更新入门项目。
LANGFLOW_SUPERUSER字符串langflow设置超级用户的名称。如果 LANGFLOW_AUTO_LOGIN 设置为 false,则必需。
参见 superuser --username 选项
LANGFLOW_SUPERUSER_PASSWORD字符串langflow设置超级用户的密码。如果 LANGFLOW_AUTO_LOGIN 设置为 false,则必需。
参见 superuser --password 选项
LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT字符串未设置要从环境中获取并存储为全局变量的环境变量的逗号分隔列表。
LANGFLOW_LOAD_FLOWS_PATH字符串未设置包含要在启动时加载的流程 JSON 文件的目录路径。注意,此功能仅在启用 LANGFLOW_AUTO_LOGIN 时有效。
LANGFLOW_WORKER_TIMEOUT整数300工作进程超时时间(秒)。
参见 --worker-timeout 选项
LANGFLOW_WORKERS整数1工作进程数量。
参见 --workers 选项

配置 .env、override.conf 和 tasks.json 文件

以下示例展示了如何在不同场景中使用环境变量配置 Langflow。

.env 文件是一个包含环境变量键值对的文本文件。

在项目根目录中创建或编辑名为 .env 的文件,并添加您的配置:


_28
DO_NOT_TRACK=true
_28
LANGFLOW_AUTO_LOGIN=false
_28
LANGFLOW_AUTO_SAVING=true
_28
LANGFLOW_AUTO_SAVING_INTERVAL=1000
_28
LANGFLOW_BACKEND_ONLY=false
_28
LANGFLOW_BUNDLE_URLS=["https://github.com/user/repo/commit/hash"]
_28
LANGFLOW_CACHE_TYPE=async
_28
LANGFLOW_COMPONENTS_PATH=/path/to/components/
_28
LANGFLOW_CONFIG_DIR=/path/to/config/
_28
LANGFLOW_DATABASE_URL=postgresql://user:password@localhost:5432/langflow
_28
LANGFLOW_DEV=false
_28
LANGFLOW_FALLBACK_TO_ENV_VAR=false
_28
LANGFLOW_HEALTH_CHECK_MAX_RETRIES=5
_28
LANGFLOW_HOST=127.0.0.1
_28
LANGFLOW_LANGCHAIN_CACHE=InMemoryCache
_28
LANGFLOW_MAX_FILE_SIZE_UPLOAD=10000
_28
LANGFLOW_LOG_LEVEL=error
_28
LANGFLOW_OPEN_BROWSER=false
_28
LANGFLOW_PORT=7860
_28
LANGFLOW_REMOVE_API_KEYS=false
_28
LANGFLOW_SAVE_DB_IN_CONFIG_DIR=true
_28
LANGFLOW_SECRET_KEY=somesecretkey
_28
LANGFLOW_STORE=true
_28
LANGFLOW_STORE_ENVIRONMENT_VARIABLES=true
_28
LANGFLOW_SUPERUSER=adminuser
_28
LANGFLOW_SUPERUSER_PASSWORD=adminpass
_28
LANGFLOW_WORKER_TIMEOUT=60000
_28
LANGFLOW_WORKERS=3