跳到主要内容

环境变量

通常,环境变量(如 LANGFLOW_PORT 或 LANGFLOW_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 应用程序可用,您需要将 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 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