全局变量
全局变量允许您在项目中存储和重用通用输入值和凭据。您可以在任何显示以下内容的文本输入字段中使用全局变量图标。
Langflow 将全局变量存储在其内部数据库中,并使用密钥对值进行加密。
创建全局变量
要创建新的全局变量,请按照以下步骤操作。
-
在 Langflow UI 中,点击您的个人资料图标,然后选择 Settings(设置)。
-
点击 Global Variables(全局变量)。
-
点击 Add New(添加新变量)。
-
在 Create Variable(创建变量)对话框中,在 Variable Name(变量名称)字段中输入变量的名称。
-
可选:为您的全局变量选择一个Type(类型)。可用类型包括 Generic(通用)(默认)和 Credential(凭据)。
Langflow 会对 Generic(通用)和 Credential(凭据)类型的全局变量进行加密。区别在于这些变量在 UI 中的显示方式。
Generic(通用)类型的全局变量在标准输入字段中显示,没有掩码。
Credential(凭据)类型的全局变量在 UI 中是隐藏的,并在密码风格的输入字段中输入,对值进行掩码处理。它们也不允许用于会话 ID 字段,因为在那里它们会暴露出来。所有默认环境变量以及使用
LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT
从环境中获取的变量都会自动设置为 Credential(凭据)类型的全局变量。 -
输入全局变量的 Value(值)。
-
可选:使用 Apply To Fields(应用于字段)菜单选择一个或多个您希望 Langflow 自动应用全局变量的字段。例如,如果您选择 OpenAI API Key,Langflow 会自动将该变量应用于任何 OpenAI API Key 字段。
-
点击 Save Variable(保存变量)。
您现在可以从任何显示以下内容的文本输入字段中选择您的全局变量图标。
编辑全局变量
-
在 Langflow UI 中,点击您的个人资料图标,然后选择 Settings(设置)。
-
点击 Global Variables(全局变量)。
-
点击您要编辑的全局变量。
-
在 Update Variable(更新变量)对话框中,您可以编辑以下字段:Variable Name(变量名称)、Value(值)和 Apply To Fields(应用于字段)。
-
点击 Update Variable(更新变量)。
删除全局变量
删除全局变量将永久删除现有项目中对该变量的任何引用。
-
在 Langflow UI 中,点击您的个人资料图标,然后选择 Settings(设置)。
-
点击 Global Variables(全局变量)。
-
点击要删除的全局变量旁边的复选框。
-
点击垃圾桶图标。
该全局变量及其任何现有引用都将被删除。
从环境中添加自定义全局变量
您可以使用 LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT
环境变量从您的运行时环境中获取自定义全局变量。所有从环境中获取的全局变量都会自动设置为 Credential(凭据)类型的全局变量。
Langflow 的 默认全局变量 已包含在此列表中,并在检测到时自动获取。您可以通过设置 LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT
添加您的额外变量来扩展此列表。
- 本地
- Docker
如果您在本地安装了 Langflow,则必须在 .env
文件中定义 LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT
环境变量。
-
创建一个
.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 从环境中获取的额外变量,例如my_key,some_string
或["my_key", "some_string"]
。这些变量将添加到 Langflow 已监控的默认变量列表中。 -
保存并关闭文件。
-
使用
.env
文件启动 Langflow_10VARIABLE1="VALUE1" VARIABLE2="VALUE2" python -m langflow run --env-file .env注意在此示例中,环境变量 (
VARIABLE1="VALUE1"
和VARIABLE2="VALUE2"
) 被添加到启动命令的前面。这是一种在命令行上将环境变量暴露给 Python 的基本方法,仅用于说明目的。请确保以最适合您环境的方式将环境变量暴露给 Langflow。 -
确认 Langflow 已成功从环境中获取全局变量。
-
在 Langflow UI 中,点击您的个人资料图标,然后选择 Settings(设置)。
-
点击 Global Variables(全局变量)。
环境变量会显示在 Global Variables(全局变量)列表中。
-
如果您使用 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" \_10langflowai/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" \_10langflowai/langflow:latest
从环境中添加全局变量时,存在以下限制
-
您只能从环境中获取 Name(名称)和 Value(值)。要添加额外参数,例如 Apply To Fields(应用于字段)参数,您必须在 Langflow UI 中编辑全局变量。
-
您从环境中添加的全局变量始终具有 Credential(凭据)类型。
如果您想明确阻止 Langflow 从环境中获取全局变量,请在您的 .env
文件中将 LANGFLOW_STORE_ENVIRONMENT_VARIABLES
设置为 false
_10LANGFLOW_STORE_ENVIRONMENT_VARIABLES=false
如果您想从环境变量自动设置全局变量的备用值,请在您的 .env
文件中将 LANGFLOW_FALLBACK_FROM_ENV_VAR
环境变量设置为 true
。启用此功能后,如果未找到全局变量,Langflow 会尝试使用同名环境变量作为备用。
_10LANGFLOW_FALLBACK_FROM_ENV_VAR=true
默认环境变量
Langflow 会自动检测并将一些环境变量转换为 Credential(凭据)类型的全局变量,这些变量会应用于需要它们的组件中的特定字段。目前支持以下变量
ANTHROPIC_API_KEY
ASTRA_DB_API_ENDPOINT
ASTRA_DB_APPLICATION_TOKEN
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AZURE_OPENAI_API_DEPLOYMENT_NAME
AZURE_OPENAI_API_EMBEDDINGS_DEPLOYMENT_NAME
AZURE_OPENAI_API_INSTANCE_NAME
AZURE_OPENAI_API_KEY
AZURE_OPENAI_API_VERSION
COHERE_API_KEY
COMPOSIO_API_KEY
GOOGLE_API_KEY
GROQ_API_KEY
HUGGINGFACEHUB_API_TOKEN
NOVITA_API_KEY
OPENAI_API_KEY
PINECONE_API_KEY
SAMBANOVA_API_KEY
SEARCHAPI_API_KEY
SERPAPI_API_KEY
TAVILY_API_KEY
UPSTASH_VECTOR_REST_TOKEN
UPSTASH_VECTOR_REST_URL
VECTARA_API_KEY
VECTARA_CORPUS_ID
VECTARA_CUSTOMER_ID
有关其他环境变量及其用法的信息,请参阅环境变量。