跳到主要内容

环境变量

通常,环境变量(如 LANGFLOW_PORTLANGFLOW_LOG_LEVEL)用于配置 Langflow 的运行方式。 这些是适用于整个 Langflow 部署的全局设置。

相比之下,全局变量是用户定义的值,存储在 Langflow 的数据库中,用于流中,例如 OPENAI_API_KEY。 Langflow 也可以从环境变量中获取全局变量。 有关更多信息,请参阅 Langflow 全局变量

为 Langflow OSS 配置环境变量

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

  • 在您的终端中设置的环境变量。
  • 启动 Langflow 时从 .env 文件导入的环境变量。
  • 使用 Langflow CLI 设置的环境变量,包括 --env-file 选项和直接选项(如 --port)。

您可以选择使用其中一个或多个来源。

优先级

如果在多个地方设置了相同的环境变量,将应用以下层次结构:

  1. Langflow CLI 选项覆盖所有其他来源。
  2. .env 文件覆盖系统环境变量。
  3. 仅在未在其他地方设置时才使用系统环境变量。 当运行 Langflow Docker 镜像时,可以使用 -e 标志设置额外的系统环境变量。

例如:

  • 如果您在系统环境中设置了 LANGFLOW_PORT=8080,并在 .env 中设置了 LANGFLOW_PORT=7860,Langflow 将使用 .env 中的 7860
  • 如果您使用 Langflow CLI 运行 langflow run --env-file .env --port 9000,且您在 .env 中设置了 LANGFLOW_PORT=7860,那么 Langflow 将使用 CLI 选项中的 9000

在终端中设置环境变量

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


_10
export VARIABLE_NAME='VALUE'

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

从 .env 文件导入环境变量

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

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

  3. .env 文件中定义 Langflow 环境变量

    示例: .env

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

    更多示例请参阅 Langflow 存储库中的 .env.example

  4. 保存并关闭 .env

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


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

    如果您的 .env 文件不在同一个目录下,请提供指向您的 .env 文件的路径。

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

为开发环境配置环境变量

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

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

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

示例: .env

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

为 Langflow Desktop 设置环境变量

当您从 Windows 或 macOS GUI 启动 Langflow Desktop 等基于 GUI 的应用程序时,您在终端中设置的环境变量不会自动可用。

对于 Windows,这意味着从“开始”菜单、桌面快捷方式或 Windows 资源管理器启动的任何基于 GUI 的应用程序。

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

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

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

要使环境变量对 macOS 上的 GUI 应用程序可用,您需要将 launchctlplist 文件配合使用:

  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 bootstrap gui/$(id -u) ~/Library/LaunchAgents/dev.langflow.env.plist

受支持的环境变量

以下各节提供了有关特定 Langflow 环境变量的信息。

身份验证与安全

请参阅 API 密钥与身份验证 (API keys and authentication)

全局变量

有关 Langflow 全局变量与环境变量之间的关系,以及控制全局变量处理的环境变量的信息,请参阅 全局变量 (Global variables)

日志

请参阅 配置日志选项 (Configure log options)

MCP 服务器

请参阅 将 Langflow 用作 MCP 服务器 (Use Langflow as an MCP server)

监控与指标

有关特定监控服务提供商的环境变量,请参阅 Langflow 监控集成指南,例如 Langfuse在 Kubernetes 上运行 Langflow 的最佳实践 (Best practices for Langflow on Kubernetes)

服务器 (Server)

以下环境变量设置基础 Langflow 服务器配置,例如服务器托管位置、SSL 加密所需的文件以及部署类型(前端和后端、仅后端、开发模式)。

变量格式默认值描述
LANGFLOW_HOSTStringlocalhostLangflow 服务器运行的主机。
LANGFLOW_PORTInteger7860Langflow 服务器运行的端口。如果指定端口已被占用,服务器会自动选择一个空闲端口。
LANGFLOW_BACKEND_ONLYBooleanFalse仅运行 Langflow 后端服务(无前端)。
LANGFLOW_DEVBooleanFalse是否以开发模式运行 Langflow(可能包含错误)。
LANGFLOW_OPEN_BROWSERBooleanFalse启动时打开系统 Web 浏览器。
LANGFLOW_HEALTH_CHECK_MAX_RETRIESInteger5设置 Langflow 服务器状态健康检查的最大重试次数。
LANGFLOW_WORKERSInteger1工作进程数。
LANGFLOW_WORKER_TIMEOUTInteger300工作进程超时(秒)。
LANGFLOW_SSL_CERT_FILEString未设置用于在 Langflow Web 服务器上启用 HTTPS 的 SSL 证书文件路径。这与数据库 SSL 连接是分开的。
LANGFLOW_SSL_KEY_FILEString未设置用于在 Langflow Web 服务器上启用 HTTPS 的 SSL 密钥文件路径。这与数据库 SSL 连接是分开的。
LANGFLOW_DEACTIVATE_TRACINGBooleanFalse停用追踪功能。
LANGFLOW_CELERY_ENABLEDBooleanFalse启用 Celery 以进行分布式任务处理。
LANGFLOW_ALEMBIC_LOG_TO_STDOUTBooleanFalse是否将 Alembic 数据库迁移输出记录到 stdout 而不是日志文件。如果为 true,Alembic 将记录到 stdout,并忽略默认日志文件。

有关部署 Langflow 服务器的更多信息,请参阅 Langflow 部署概览 (Langflow deployment overview)

存储 (Storage)

有关文件存储环境变量,请参阅 文件存储环境变量 (File storage environment variables)

有关数据库环境变量(包括 PostgreSQL 配置),请参阅 记忆管理选项 (Memory management options)

遥测 (Telemetry)

请参阅 遥测 (Telemetry)

可视化编辑器与游乐场 (Playground) 行为

变量格式默认值描述
LANGFLOW_AUTO_SAVINGBooleanTrue是否自动保存流。
LANGFLOW_AUTO_SAVING_INTERVALInteger1000如果 LANGFLOW_AUTO_SAVING=True,则设置自动保存间隔(毫秒)。
LANGFLOW_BUNDLE_URLSList[String][]从中加载自定义捆绑包的 URL 列表。支持 GitHub URL。如果 LANGFLOW_AUTO_LOGIN=True,这些捆绑包中的流将被加载到数据库中。
LANGFLOW_COMPONENTS_PATHString未设置包含自定义组件的目录路径。通常在您拥有本地自定义组件或正在构建包含自定义组件的 Docker 镜像时使用。
LANGFLOW_LOAD_FLOWS_PATHString未设置包含要在启动时加载的流 JSON 文件的目录路径。通常在创建包含预打包流的 Docker 镜像时使用。需要 LANGFLOW_AUTO_LOGIN=True
LANGFLOW_CREATE_STARTER_PROJECTSBooleanTrue是否在初始化期间创建模板。如果为 false,Langflow 不会创建模板,且 LANGFLOW_UPDATE_STARTER_PROJECTS 被视为 false
LANGFLOW_UPDATE_STARTER_PROJECTSBooleanTrue在升级后初始化时,是否使用最新的组件版本更新模板。
LANGFLOW_LAZY_LOAD_COMPONENTSBooleanFalse如果为 true,Langflow 在启动时仅部分加载组件,并按需完全加载它们。这显著缩短了启动时间,但在第一次使用组件时可能会造成轻微延迟。
Search