全局变量 (Global variables)
使用全局变量在所有工作流中存储和重复使用凭据和通用值。 全局变量通常由工作流中的组件使用,您可以在任何带有 全局变量图标的字段中使用它们。
相比之下,环境变量(如 LANGFLOW_PORT 或 LANGFLOW_LOG_LEVEL)通常用于配置 Langflow 运行方式的更广泛设置。
但是,Langflow 也可以从环境变量中获取全局变量。
Langflow 将全局变量存储在其内部数据库中,并使用密钥对值进行加密。
创建全局变量
要创建新的全局变量,请按照以下步骤操作。
-
在 Langflow 页眉中,点击您的个人资料图标,然后选择 Settings。
-
点击 Global Variables。
-
点击 Add New。
-
在 Create Variable 对话框的 Variable Name 字段中输入变量名称。
-
可选:为您的全局变量选择 Type。可用类型包括 Generic(默认)和 Credential。
Langflow 对 Generic 和 Credential 类型的全局变量都会进行加密。 但是,Generic 变量在视觉编辑器中不会被遮盖,而 Credential 变量会被遮盖。 Session ID 字段不接受 Credential(遮盖)变量。
-
输入全局变量的 Value。
-
可选:使用 Apply To Fields 菜单选择一个或多个您希望 Langflow 自动应用该全局变量的字段。例如,如果您选择 OpenAI API Key,Langflow 会自动将该变量应用于任何 OpenAI API Key 字段。
-
点击 Save Variable。
现在,您可以从任何显示 Globe 图标的文本输入字段中选择您的全局变量。
编辑全局变量
-
在 Langflow 页眉中,点击您的个人资料图标,然后选择 Settings。
-
点击 Global Variables。
-
点击您要编辑的全局变量。
-
在 Update Variable 对话框中,您可以编辑以下字段:Variable Name、Value 和 Apply To Fields。
-
点击 Update Variable。
删除全局变量
删除全局变量将从数据库中永久删除该值。 引用已删除全局变量的工作流将会失败。
-
在 Langflow 页眉中,点击您的个人资料图标,然后选择 Settings。
-
点击 Global Variables。
-
点击您要删除的全局变量旁边的复选框。
-
点击 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 的全局变量。
然后,您可以在组件设置中需要的地方使用这些变量。
- 本地
- Docker
如果您在本地安装了 Langflow,请在 Langflow .env 文件中设置 LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT:
-
创建或编辑您的 Langflow
.env文件。 -
按如下方式添加
LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT环境变量:您可以将变量指定为不带空格的逗号分隔字符串,或指定为 JSON 列表:
_10# 选项 1:逗号分隔字符串(无空格)_10LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT=VARIABLE1,VARIABLE2_10_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"]。 -
保存并关闭文件。
-
使用
.env文件启动 Langflow:_10uv run langflow run --env-file .env或者,您可以直接在命令行中设置环境变量:
_10VARIABLE1="VALUE1" VARIABLE2="VALUE2" uv run langflow run --env-file .env命令行变量会覆盖
.env文件中的匹配变量。 以最适合您自己环境的方式将环境变量公开给 Langflow。 -
确认 Langflow 已成功从环境中获取全局变量:
-
在 Langflow 页眉中,点击您的个人资料图标,然后选择 Settings。
-
点击 Global Variables,然后确保您的环境变量出现在 Global Variables 列表中。
-
如果您使用 Docker,有两种方法可以设置 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" \_10langflowai/langflow:latest -
在您的
.env文件中:_10docker run -it --rm \_10-p 7860:7860 \_10--env-file .env \_10-e VARIABLE1="VALUE1" \_10-e VARIABLE2="VALUE2" \_10langflowai/langflow:latest
LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT 中的列表仅包含变量名称。
您必须确保这些环境变量已在 Docker 环境中定义(例如使用 -e 等)。
启动 Langflow 后,转到 Langflow Settings 以确认变量已创建。
只有 Name 和 Value 是从环境中获取的。 如果您想配置其他选项(例如 Apply To Fields 选项),可以在 Langflow Settings 中编辑这些变量。
从环境中获取的全局变量被分配为 Credential 类型,这会在视觉编辑器中遮盖其值。 但是,Langflow 会自动对存储在数据库中的 所有 全局变量进行加密。
禁止从环境中获取全局变量
如果您想明确阻止 Langflow 从环境中获取全局变量,请在 .env 文件中设置 LANGFLOW_STORE_ENVIRONMENT_VARIABLES=False。