全局变量
全局变量让您可以在 Langflow 项目 中存储和重用通用输入值和凭据。 您可以在任何显示 Globe 图标的文本输入字段中使用全局变量。
Langflow 将全局变量存储在其内部数据库中,并使用密钥对值进行加密。
环境变量与全局变量
环境变量如 LANGFLOW_PORT
或 LANGFLOW_LOG_LEVEL
用于配置 Langflow 的运行方式,而全局变量是存储在 Langflow 数据库中的用户定义值,可在流程中重复使用,例如 OPENAI_API_KEY
。
当 Langflow 启动时,某些环境变量会自动转换为全局变量。有关更多信息,请参阅默认环境变量。
要添加自定义全局变量,请参阅从环境添加自定义全局变量。
创建全局变量
要创建新的全局变量,请按照以下步骤操作。
-
在 Langflow 标题栏中,点击您的个人资料图标,然后 选择 设置。
-
点击 全局变量。
-
点击 添加新。
-
在 创建变量 对话框中,在 变量名称 字段中输入变量的名称。
-
可选:为您的全局变量选择 类型。可用类型为 通用(默认)和 凭据。
Langflow 会加密 通用 和 凭据 类型的全局变量。区别在于变量在可视化编辑器中的显示方式:
- 通用 类型的全局变量显示在无遮罩的标准输入字段中。
- 凭据 类型的全局变量在可视化编辑器中隐藏,并在密码样式的输入字段中输入,该字段会遮盖值。此类型不允许在值会暴露的会话 ID 字段中使用。
所有默认环境变量以及使用
LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT
从环境获取的变量都会自动设置为 凭据 类型。 有关更多信息,请参阅 默认环境变量。 -
输入您的全局变量的 值。
-
可选:使用 应用于字段 菜单选择您希望 Langflow 自动应用您的全局变量的一个或多个字段。例如,如果您选择 OpenAI API 密钥,Langflow 会自动将该变量应用于任何 OpenAI API 密钥 字段。
-
点击 保存变量。
现在,您可以从任何显示 Globe 图标的文本输入字段中选择您的全局变量。
编辑全局变量
-
在 Langflow 标题栏中,点击您的个人资料图标,然后选择 设置。
-
点击 全局变量。
-
点击您要编辑的全局变量。
-
在 更新变量 对话框中,您可以编辑以下字段:变量名称、值 和 应用于字段。
-
点击 更新变量。
删除全局变量
删除全局变量会永久从数据库中删除该值。 引用已删除全局变量的流程将会失败。
-
在 Langflow 标题栏中,点击您的个人资料图标,然后选择 设置。
-
点击 全局变量。
-
点击您要删除的全局变量旁边的复选框。
-
点击 删除。
全局变量从数据库中被删除。
从环境添加自定义全局变量
您可以使用 LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT
环境变量 从您的运行时环境中获取自定义全局变量。
从环境获取的所有全局变量都会自动设置为 Credential 类型的全局变量。
Langflow 的 默认全局变量 已经包含在此列表中,并在检测到时自动获取。
您可以通过设置 LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT
并添加您的额外变量来扩展此列表。
- Local
- Docker
如果您本地安装了 Langflow,则必须在 .env
文件中定义 LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT
环境变量。
-
创建一个
.env
文件,并在您首选的编辑器中打开它。 -
添加
LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT
环境变量,如下所示:您可以将变量指定为无空格的逗号分隔字符串,或作为 JSON 列表:
_10# Option 1: Comma-separated string (no spaces)_10# 选项 1:逗号分隔字符串(无空格)_10LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT=VARIABLE1,VARIABLE2_10_10# Option 2: JSON list format_10# 选项 2:JSON 列表格式_10LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT=["VARIABLE1", "VARIABLE2"]将
VARIABLE1,VARIABLE2
替换为您希望 Langflow 从环境中获取的额外变量,例如CUSTOM_API_KEY,INTERNAL_SERVICE_URL
或["CUSTOM_API_KEY", "INTERNAL_SERVICE_URL"]
。 这些变量会添加到 Langflow 已经监控的 默认变量列表 中,包括常见的 API 密钥,如OPENAI_API_KEY
、ANTHROPIC_API_KEY
和GOOGLE_API_KEY
。 -
保存并关闭文件。
-
使用
.env
文件启动 Langflow:_10uv run langflow run --env-file .env或者,您也可以直接在命令行中设置环境变量:
_10VARIABLE1="VALUE1" VARIABLE2="VALUE2" uv run langflow run --env-file .env命令行变量将覆盖
.env
文件中的任何值。 以最适合您自身环境的方式将环境变量暴露给 Langflow。 -
确认 Langflow 已成功从环境中获取全局变量:
-
在 Langflow 标题栏中,点击您的个人资料图标,然后选择 设置。
-
点击 全局变量,然后确保您的环境变量出现在 全局变量 列表中。
-
如果您使用 Docker,可以直接从命令行或 .env
文件传递 LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT
。
要从命令行直接传递 LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT
:
_10docker run -it --rm \_10 -p 7860:7860 \_10 -e LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT="VARIABLE1,VARIABLE2" \_10 -e VARIABLE1="VALUE1" \_10 -e VARIABLE2="VALUE2" \_10 langflowai/langflow:latest
要从 .env
文件传递 LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT
:
_10docker run -it --rm \_10 -p 7860:7860 \_10 --env-file .env \_10 -e VARIABLE1="VALUE1" \_10 -e VARIABLE2="VALUE2" \_10 langflowai/langflow:latest
从环境添加全局变量时,适用以下限制:
-
您只能从环境中获取 名称 和 值。
要添加其他参数(如 应用于字段 参 数),您必须在 Langflow 的 设置 中编辑全局变量。
-
您从环境添加的全局变量始终具有 凭证 类型。
禁止从环境获取全局变量
如果您要明确阻止 Langflow 从环境中获取全局变量,请在 .env
文件中设置 LANGFLOW_STORE_ENVIRONMENT_VARIABLES=False
。
使用环境变量作为缺失的全局变量
如果您要自动将全局变量的回退值设置为环境变量,请在 .env
文件中设置 LANGFLOW_FALLBACK_TO_ENV_VAR=True
。启用此设置后,如果找不到全局变量,Langflow 会尝试使用同名的环境变量作为备份。
由环境变量自动设置的全局变量
Langflow 会自动检测并将某些环境变量转换为 凭证 类型的全局变量,这些变量会应用于需要它们的组件中的特定字段。
支持的变量列在 constants.py 中。
配置全局变量和环境变量处理
这些环境变量配置了Langflow如何处理环境变量和全局变量之间的关系。
变量 | 格式 | 默认值 | 描述 |
---|---|---|---|
LANGFLOW_STORE_ENVIRONMENT_VARIABLES | Boolean | True | 是否将环境变量作为全局变量存储在数据库中。 |
LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT | String | Not set | 要从环境中获取并作为全局变量存储的环境变量列表,用逗号分隔。 |
LANGFLOW_FALLBACK_TO_ENV_VAR | Boolean | True | 如果启用,在Langflow 设置中设置的全局变量可以在Langflow无法从全局变量中检索变量值时,使用同名的环境变量。 |