跳到主要内容

全局变量 (Global variables)

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

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

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

创建全局变量

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

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

  2. 点击 Global Variables

  3. 点击 Add New

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

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

    Langflow 对 GenericCredential 类型的全局变量都会进行加密。 但是,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 NameValueApply 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_IDWATSONX_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 以确认变量已创建。

只有 NameValue 是从环境中获取的。 如果您想配置其他选项(例如 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