跳到主要内容

Environment variables

Langflow 使用环境变量来配置某些设置。 您还可以导入环境变量以用于您的部署,例如流程中某些组件使用到的环境变量。

您可以在终端、.env 文件以及通过 Langflow CLI 中设置 Langflow 环境变量。

环境变量与全局变量

环境变量LANGFLOW_PORTLANGFLOW_LOG_LEVEL 用于配置 Langflow 的运行方式,而全局变量是存储在 Langflow 数据库中的用户定义值,可在流程中重复使用,例如 OPENAI_API_KEY

当 Langflow 启动时,某些环境变量会自动转换为全局变量。有关更多信息,请参阅默认环境变量

要添加自定义全局变量,请参阅从环境添加自定义全局变量

优先级

如果环境变量在多个地方被设置,则适用以下层次结构:

  1. Langflow CLI 选项覆盖所有其他来源。

  2. .env 文件覆盖系统环境变量。

  3. 仅在其他地方未设置时才使用系统环境变量。

    运行 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 文件导入的环境变量优先级高于在终端中设置的环境变量。

在终端中设置环境变量

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


_10
export VARIABLE_NAME='VALUE'

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

从 .env 文件导入环境变量

  1. 如果 Langflow 正在运行,请退出 Langflow。

  2. 创建一个 .env 文件,然后在您喜欢的编辑器中打开它。

  3. .env 文件中定义 Langflow 环境变量。例如:


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

    更多示例,请参阅 Langflow 仓库中的 .env.example 文件。

  4. 保存并关闭 .env

  5. 使用您的 .env 文件启动 Langflow:


    _10
    uv run langflow run --env-file .env

    如果您的 .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布尔值Falsetrue 时,在保存到数据库之前会自动从流程数据中移除 API 密钥和令牌。名称中包含 apikeytoken 且被标记为密码字段的字段,其值将被设置为 null。这可以防止凭据被存储在数据库中。
LANGFLOW_DISABLE_TRACK_APIKEY_USAGE布尔值False是否跟踪 API 密钥使用情况。如果为 true,则禁用 API 密钥使用情况(total_useslast_used_at)的跟踪,以避免在高并发情况下出现数据库争用。
LANGFLOW_WEBHOOK_AUTH_ENABLE布尔值False为 Webhook 端点启用 API 密钥身份验证。如果为 false,Webhook 将以流程所有者身份运行,无需身份验证。

有关身份验证配置的详细信息,请参阅 API 密钥和身份验证

缓存配置

变量格式默认值描述
LANGFLOW_CACHE_TYPE字符串async设置 Langflow 的缓存类型。可能的值:asyncredismemorydisk。如果将类型设置为 redis,则还必须设置以下环境变量:LANGFLOW_REDIS_HOSTLANGFLOW_REDIS_PORTLANGFLOW_REDIS_DBLANGFLOW_REDIS_CACHE_EXPIRE。另请参见 langflow run
LANGFLOW_LANGCHAIN_CACHE字符串InMemoryCache要使用的缓存存储类型,与 LANGFLOW_CACHE_TYPE 分开。可能的值:InMemoryCacheSQLiteCache。参见 缓存配置
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_URLString未设置设置 Langflow 的数据库 URL。如果未提供,Langflow 将使用 SQLite 数据库。请参阅 数据库配置
LANGFLOW_DATABASE_CONNECTION_RETRYBooleanFalse是否重试与 Langflow 数据库的断开连接。如果为 true,当连接失败时,Langflow 会尝试重新连接到数据库。
LANGFLOW_DB_CONNECT_TIMEOUTInteger30在放弃等待锁释放或建立数据库连接之前等待的秒数。
LANGFLOW_DB_CONNECTION_SETTINGSJSON未设置用于集中数据库连接参数的 JSON 字典。示例:{"pool_size": 20, "max_overflow": 30}。请参阅 数据库配置
LANGFLOW_DB_POOL_SIZEInteger20已弃用: 请改用 LANGFLOW_DB_CONNECTION_SETTINGS。连接池中保持打开的连接数。
LANGFLOW_DB_MAX_OVERFLOWInteger30已弃用: 请改用 LANGFLOW_DB_CONNECTION_SETTINGS。允许在池大小之外打开的连接数。
LANGFLOW_SAVE_DB_IN_CONFIG_DIRBooleanFalse如果为 false(默认值),Langflow 数据库将保存在 langflow 根目录中。这意味着数据库不会在不同的虚拟环境之间共享,并且在卸载 Langflow 时数据库会被删除。如果为 true,数据库将保存在 LANGFLOW_CONFIG_DIR 中。
LANGFLOW_USE_NOOP_DATABASEBooleanFalse如果为 true,禁用所有数据库操作并使用无操作会话。对测试很有用。

有关数据库配置的详细信息,请参阅 内存管理选项

文件和数据管理

变量格式默认值描述
LANGFLOW_CONFIG_DIRString因环境而异设置 Langflow 配置目录,用于存储文件、日志和 Langflow 数据库。默认路径取决于您的安装方式。请参阅 流存储和日志
LANGFLOW_COMPONENTS_PATHString未设置包含自定义组件的目录路径。
LANGFLOW_FRONTEND_PATHString./frontend包含构建文件的前端目录路径。这仅用于开发目的。请参阅 langflow run
LANGFLOW_MAX_FILE_SIZE_UPLOADInteger100设置上传文件的最大大小(以兆字节为单位)。请参阅 langflow run
LANGFLOW_MAX_ITEMS_LENGTHInteger100在可视化编辑器中存储和显示的最大项目数。超过此长度的列表在可视化编辑器中显示时将被截断。不影响组件之间传递的数据或输出。
LANGFLOW_MAX_TEXT_LENGTHInteger1000在可视化编辑器中存储和显示的最大字符数。超过此长度的响应在可视化编辑器中显示时将被截断。不会截断组件之间或输出的响应。
LANGFLOW_STORAGE_TYPEStringlocal用于文件上传和数据的存储类型。
LANGFLOW_MAX_TRANSACTIONS_TO_KEEPInteger3000在数据库中保留的最大事务数。
LANGFLOW_MAX_VERTEX_BUILDS_TO_KEEPInteger3000在数据库中保留的最大顶点构建数。
LANGFLOW_MAX_VERTEX_BUILDS_PER_VERTEXInteger2每个顶点保留的最大构建数。较旧的构建将被删除。

流程和项目管理

变量格式默认值描述
LANGFLOW_AUTO_SAVINGBooleanTrue启用流程自动保存。
LANGFLOW_AUTO_SAVING_INTERVALInteger1000设置流程自动保存的间隔(毫秒)。
LANGFLOW_BUNDLE_URLSList[String][]用于加载组件包和流程的URL列表。支持GitHub URL。如果启用了LANGFLOW_AUTO_LOGIN,则这些包中的流程将被加载到数据库中。
LANGFLOW_LOAD_FLOWS_PATHString未设置包含启动时要加载的流程JSON文件的目录路径。请注意,此功能仅在启用LANGFLOW_AUTO_LOGIN时才有效。
LANGFLOW_CREATE_STARTER_PROJECTSBooleanTrue是否在初始化期间创建模板。如果为false,Langflow不会创建模板,并且LANGFLOW_UPDATE_STARTER_PROJECTS将被视为false。
LANGFLOW_UPDATE_STARTER_PROJECTSBooleanTrue在升级后初始化时,是否使用最新组件版本更新模板。
LANGFLOW_LAZY_LOAD_COMPONENTSBooleanFalse如果为true,Langflow在启动时仅部分加载组件,并在需要时完全加载它们。这显著减少了启动时间,但在首次使用组件时可能会导致轻微延迟。
LANGFLOW_EVENT_DELIVERYStringstreaming如何将构建事件传递到前端。可以是'polling'、'streaming'或'direct'。

全局变量和环境变量交互

有关全局变量和环境变量如何交互的详细信息,请参阅全局变量

日志配置

有关日志配置的详细信息,包括环境变量,请参阅配置日志选项

MCP(模型上下文协议)

以下环境变量设置与您的Langflow项目MCP服务器相关的行为。 有关MCP服务器配置的详细信息,请参阅将Langflow用作MCP服务器

变量格式默认值描述
LANGFLOW_MCP_SERVER_ENABLEDBooleanTrue如果此选项设置为False,Langflow将不启用MCP服务器。
LANGFLOW_MCP_SERVER_ENABLE_PROGRESS_NOTIFICATIONSBooleanFalse如果此选项设置为True,Langflow将在MCP服务器中发送进度通知。
LANGFLOW_MCP_SERVER_TIMEOUTInteger20MCP服务器操作超时前等待的秒数。
LANGFLOW_MCP_MAX_SESSIONS_PER_SERVERInteger10每个唯一服务器保留的MCP会话的最大数量。

监控和指标

有关特定监控服务提供商的环境变量,请参阅Langflow监控集成指南,例如Langfuse

变量格式默认值描述
LANGFLOW_PROMETHEUS_ENABLEDBooleanFalse暴露Prometheus指标。
LANGFLOW_PROMETHEUS_PORTInteger9090设置Langflow暴露Prometheus指标的端口。

其他环境变量

变量格式默认值描述
LANGFLOW_STOREBooleanTrue是否启用Langflow Store功能。
LANGFLOW_STORE_URLStringhttps://api.langflow.storeLangflow Store API的URL。
LANGFLOW_DOWNLOAD_WEBHOOK_URLString未设置下载事件Webhook URL。
LANGFLOW_LIKE_WEBHOOK_URLString未设置点赞事件Webhook URL。
LANGFLOW_DEVBooleanFalse启用开发模式。
LANGFLOW_DEACTIVATE_TRACINGBooleanFalse停用跟踪功能。
LANGFLOW_CELERY_ENABLEDBooleanFalse启用Celery进行分布式任务处理。

公开流程设置

公开流程是在共享的Langflow游乐场中公开的流程。 有关共享游乐场配置的详细信息,请参阅共享流程的游乐场

变量格式默认值描述
LANGFLOW_PUBLIC_FLOW_CLEANUP_INTERVALInteger3600清理公共临时流程的间隔(秒)。默认为1小时(3600秒)。最小值为600秒(10分钟)。
LANGFLOW_PUBLIC_FLOW_EXPIRATIONInteger86400公共临时流程被视为过期并符合清理条件的时间(秒)。默认为24小时(86400秒)。最小值为600秒(10分钟)。

服务器配置

变量格式默认值描述
LANGFLOW_HOSTStringlocalhostLangflow服务器将运行的主机。请参阅langflow run
LANGFLOW_PORTInteger7860Langflow服务器运行的端口。如果指定端口已被占用,服务器会自动选择一个空闲端口。
LANGFLOW_BACKEND_ONLYBooleanFalse仅运行Langflow后端服务(无前端)。
LANGFLOW_OPEN_BROWSERBooleanFalse启动时打开系统网页浏览器。
LANGFLOW_HEALTH_CHECK_MAX_RETRIESInteger5设置健康检查的最大重试次数。请参阅langflow run
LANGFLOW_WORKERSInteger1工作进程数量。
LANGFLOW_WORKER_TIMEOUTInteger300工作进程超时时间(秒)。
LANGFLOW_SSL_CERT_FILEString未设置本地系统上SSL证书文件的路径。
LANGFLOW_SSL_KEY_FILEString未设置本地系统上SSL密钥文件的路径。

遥测

有关遥测配置选项,请参阅遥测

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

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

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

在您的应用程序或 Langflow 环境的根目录中创建或编辑一个 .env 文件,然后将您的配置变量添加到该文件中:


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

为 Langflow Desktop 设置环境变量

在终端中设置的环境变量不会自动提供给从 Windows 或 macOS GUI 启动的基于 GUI 的应用程序,如 Langflow Desktop。

对于 Windows,这意味着从"开始"菜单、桌面快捷方式或 Windows Explorer 启动的任何基于 GUI 的应用程序。

对于 macOS,这意味着从 Finder、Spotlight、Launchpad 或 Dock 启动的任何基于 GUI 的应用程序。

要为 Langflow Desktop 设置环境变量,您需要根据操作系统使用特定的命令或文件。

从 macOS GUI 启动时,macOS 版的 Langflow Desktop 无法自动使用在终端中设置的变量,例如 .zshrc.bash_profile 中的变量。

要使环境变量在 macOS 上可用于 GUI 应用程序,您需要使用 launchctl 和一个 plist 文件:

  1. 如果不存在,请创建 LaunchAgents 目录:


    _10
    mkdir -p ~/Library/LaunchAgents

  2. LaunchAgents 目录中,创建一个名为 dev.langflow.env.plist 文件。

  3. 将以下内容添加到 dev.langflow.env.plist 中,然后根据您的配置需要添加、更改或删除 Langflow 环境变量。

    此示例为从 macOS GUI 启动的所有 GUI 应用程序设置多个环境变量。


    _21
    <?xml version="1.0" encoding="UTF-8"?>
    _21
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    _21
    <plist version="1.0">
    _21
    <dict>
    _21
    <key>Label</key>
    _21
    <string>dev.langflow.env</string>
    _21
    <key>ProgramArguments</key>
    _21
    <array>
    _21
    <string>/bin/sh</string>
    _21
    <string>-c</string>
    _21
    <string>
    _21
    launchctl setenv LANGFLOW_CONFIG_DIR /Users/your_user/custom/config &&
    _21
    launchctl setenv LANGFLOW_PORT 7860 &&
    _21
    launchctl setenv LANGFLOW_HOST localhost &&
    _21
    launchctl setenv ARIZE_API_KEY ak-...
    _21
    </string>
    _21
    </array>
    _21
    <key>RunAtLoad</key>
    _21
    <true/>
    _21
    </dict>
    _21
    </plist>

  4. 使用 launchctl 加载文件:


    _10
    launchctl load ~/Library/LaunchAgents/dev.langflow.env.plist

Search