跳到主要内容

全局变量 (Global variables)

使用全局变量在所有工作流中存储和重复使用凭据和通用值。 全局变量通常由工作流中的组件使用,您可以在任何带有 全局变量图标的字段中使用它们。

相比之下,环境变量(如 LANGFLOW_PORT 或 LANGFLOW_LOG_LEVEL)通常用于配置 Langflow 运行方式的更广泛设置。 但是,Langflow 也可以从环境变量中获取全局变量。

Langflow 将全局变量存储在其内部数据库中,并使用密钥对值进行加密。

创建全局变量​

要创建新的全局变量,请按照以下步骤操作。

  1. 在 Langflow 页眉中,点击您的个人资料图标,然后选择 Settings。

  2. 点击 Global Variables。

  3. 点击 Add New。

  4. 在 Create Variable 对话框的 Variable Name 字段中输入变量名称。

  5. 可选:为您的全局变量选择 Type。可用类型包括 Generic(默认)和 Credential。

    Langflow 对 Generic 和 Credential 类型的全局变量都会进行加密。 但是,Generic 变量在视觉编辑器中不会被遮盖,而 Credential 变量会被遮盖。 Session ID 字段不接受 Credential(遮盖)变量。

  6. 输入全局变量的 Value。

  7. 可选:使用 Apply To Fields 菜单选择一个或多个您希望 Langflow 自动应用该全局变量的字段。例如,如果您选择 OpenAI API Key,Langflow 会自动将该变量应用于任何 OpenAI API Key 字段。

  8. 点击 Save Variable。

现在,您可以从任何显示 Globe 图标的文本输入字段中选择您的全局变量。

编辑全局变量​

  1. 在 Langflow 页眉中,点击您的个人资料图标,然后选择 Settings。

  2. 点击 Global Variables。

  3. 点击您要编辑的全局变量。

  4. 在 Update Variable 对话框中,您可以编辑以下字段:Variable Name、Value 和 Apply To Fields。

  5. 点击 Update Variable。

删除全局变量​

删除全局变量将从数据库中永久删除该值。 引用已删除全局变量的工作流将会失败。

  1. 在 Langflow 页眉中,点击您的个人资料图标,然后选择 Settings。

  2. 点击 Global Variables。

  3. 点击您要删除的全局变量旁边的复选框。

  4. 点击 Delete。

全局变量已从数据库中删除。

从环境中添加自定义全局变量​

Langflow 可以从您的运行时环境中获取自定义全局变量。 有关 Langflow 如何检测和应用环境变量的信息,请参阅 Langflow 环境变量。

如果 Langflow 检测到任何匹配的环境变量,它会自动根据 constants.py 生成全局变量。 例如,如果您在运行时环境中设置了 OPENAI_API_KEY,Langflow 会自动使用该值生成一个全局变量。

您可以在 LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT 中声明其他变量。 例如,LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT=WATSONX_PROJECT_ID,WATSONX_API_KEY 会在 Langflow 的数据库中创建名为 WATSONX_PROJECT_ID 和 WATSONX_API_KEY 的全局变量。 然后,您可以在组件设置中需要的地方使用这些变量。

如果您在本地安装了 Langflow,请在 Langflow .env 文件中设置 LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT:

  1. 创建或编辑您的 Langflow .env 文件。

  2. 按如下方式添加 LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT 环境变量:

    您可以将变量指定为不带空格的逗号分隔字符串,或指定为 JSON 列表:


    _10
    # 选项 1:逗号分隔字符串(无空格)
    _10
    LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT=VARIABLE1,VARIABLE2
    _10
    _10
    # 选项 2:JSON 列表格式
    _10
    LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT=["VARIABLE1", "VARIABLE2"]

    将 VARIABLE1,VARIABLE2 替换为您希望 Langflow 从环境中获取的其他变量,例如 CUSTOM_API_KEY,INTERNAL_SERVICE_URL 或 ["CUSTOM_API_KEY", "INTERNAL_SERVICE_URL"]。

  3. 保存并关闭文件。

  4. 使用 .env 文件启动 Langflow:


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

    或者,您可以直接在命令行中设置环境变量:


    _10
    VARIABLE1="VALUE1" VARIABLE2="VALUE2" uv run langflow run --env-file .env

    命令行变量会覆盖 .env 文件中的匹配变量。 以最适合您自己环境的方式将环境变量公开给 Langflow。

  5. 确认 Langflow 已成功从环境中获取全局变量:

    1. 在 Langflow 页眉中,点击您的个人资料图标,然后选择 Settings。

    2. 点击 Global Variables,然后确保您的环境变量出现在 Global Variables 列表中。

启动 Langflow 后,转到 Langflow Settings 以确认变量已创建。

只有 Name 和 Value 是从环境中获取的。 如果您想配置其他选项(例如 Apply To Fields 选项),可以在 Langflow Settings 中编辑这些变量。

从环境中获取的全局变量被分配为 Credential 类型,这会在视觉编辑器中遮盖其值。 但是,Langflow 会自动对存储在数据库中的 所有 全局变量进行加密。

禁止从环境中获取全局变量​

如果您想明确阻止 Langflow 从环境中获取全局变量,请在 .env 文件中设置 LANGFLOW_STORE_ENVIRONMENT_VARIABLES=False。

将环境变量用作缺失全局变量的备选​

如果您想为全局变量自动设置环境变量作为备选值,请在 .env 文件中设置 LANGFLOW_FALLBACK_TO_ENV_VAR=True。 启用此设置后,如果找不到全局变量,Langflow 会尝试使用同名的环境变量作为备份。

例如,假设您有以下 Langflow .env 配置,并且您的工作流中有一个组件需要 WATSONX_API_KEY 全局变量:


_10
LANGFLOW_FALLBACK_TO_ENV_VAR=True
_10
WATSONX_PROJECT_ID=your_project_id
_10
WATSONX_API_KEY=your_api_key

运行工作流时,如果没有名为 WATSONX_API_KEY 的全局变量,Langflow 会寻找名为 WATSONX_API_KEY 的环境变量。 在此示例中,Langflow 使用 .env 中的 WATSONX_API_KEY 值来运行工作流。

Search