全域變數
使用全域變數來儲存和重複使用憑證以及在所有FLOW中通用的值。 全域變數通常由FLOW中的組件使用,您可以在任何顯示 全域變數圖示的欄位中使用它們。
相較之下,環境變數(如 LANGFLOW_PORT 或 LANGFLOW_LOG_LEVEL)通常用於配置 AgentBuilder 運行的更廣泛設定。
不過,AgentBuilder 也可以從環境變數中取得全域變數。
AgentBuilder 將全域變數儲存在其內部資料庫中,並使用密鑰加密這些值。
建立全域變數
要建立新的全域變數,請遵循以下步驟。
-
在 AgentBuilder 標題中,按一下您的個人檔案圖示,然後選取 Settings。
-
按一下 Global Variables。
-
按一下 Add New。
-
在 Create Variable 對話框中,在 Variable Name 欄位中輸入變數名稱。
-
選用:為您的全域變數選取 Type。可用的類型為 Generic(預設)和 Credential。
AgentBuilder 會加密 Generic 和 Credential 類型的全域變數。 不過,Generic 變數在視覺編輯器中不會被遮罩,而 Credential 變數會被遮罩。 Session ID 欄位不接受 Credential(遮罩)變數。
-
輸入您的全域變數的 Value。
-
選用:使用 Apply To Fields 選單選取一或多個您希望 AgentBuilder 自動套用全域變數的欄位。例如,如果您選取 OpenAI API Key,AgentBuilder 會自動將變數套用至任何 OpenAI API Key 欄位。
-
按一下 Save Variable。
您現在可以從任何顯示 Globe 圖示的文字輸入欄位中選取您的全域變數。
編輯全域變數
-
在 AgentBuilder 標題中,按一下您的個人檔案圖示,然後選取 Settings。
-
按一下 Global Variables。
-
按一下您要編輯的全域變數。
-
在 Update Variable 對話框中,您可以編輯以下欄位:Variable Name、Value 和 Apply To Fields。
-
按一下 Update Variable。
刪除全域變數
刪除全域變數會永久從資料庫中刪除該值。 參考已刪除全域變數的FLOW將會失敗。
-
在 AgentBuilder 標題中,按一下您的個人檔案圖示,然後選取 Settings。
-
按一下 Global Variables。
-
按一下要刪除的全域變數旁邊的核取方塊。
-
按一下 Delete。
全域變數會從資料庫中刪除。
從環境新增自訂全域變數
AgentBuilder 可以從您的執行環境中取得自訂全域變數。 有關 AgentBuilder 如何偵測和套用環境變數的資訊,請參閱 AgentBuilder 環境變數。
如果 AgentBuilder 偵測到任何相符的環境變數,它會根據 constants.py 自動產生全域變數。
例如,如果您在執行環境中設定 OPENAI_API_KEY,AgentBuilder 會自動使用該值產生全域變數。
您可以在 LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT 中宣告其他變數。
例如,LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT=WATSONX_PROJECT_ID,WATSONX_API_KEY 會在 AgentBuilder 的資料庫中建立名為 WATSONX_PROJECT_ID 和 WATSONX_API_KEY 的全域變數。
然後,您可以在組件設定中需要的地方使用這些變數。
- Local
- Docker
如果您在本機安裝 AgentBuilder,請在您的 AgentBuilder .env 檔案中設定 LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT:
-
建立或編輯您的 AgentBuilder
.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替換為您希望 AgentBuilder 從環境取得的其他變數,例如CUSTOM_API_KEY,INTERNAL_SERVICE_URL或["CUSTOM_API_KEY", "INTERNAL_SERVICE_URL"]。 -
儲存並關閉檔案。
-
使用
.env檔案啟動 AgentBuilder:_10uv run langflow run --env-file .env或者,您可以直接在命令列中設定環境變數:
_10VARIABLE1="VALUE1" VARIABLE2="VALUE2" uv run langflow run --env-file .env命令列變數會覆寫
.env檔案中的相符變數。 以最適合您自己環境的方式向 AgentBuilder 公開您的環境變數。 -
確認 AgentBuilder 成功從環境取得全域變數:
-
在 AgentBuilder 標題中,按一下您的個人檔案圖示,然後選取 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 或其他方式。
啟動 AgentBuilder 後,前往您的 AgentBuilder Settings 以確認變數已建立。
只有 Name 和 Value 會從環境取得。 如果您想要配置其他選項,例如 Apply To Fields 選項,您可以在 AgentBuilder Settings 中編輯變數。
從環境取得的全局變數會被指派為 Credential 類型,這會在視覺編輯器中遮罩這些值。 不過,AgentBuilder 會自動加密儲存在資料庫中的_所有_全域變數。
禁止從環境取得全域變數
如果您想要明確防止 AgentBuilder 從環境取得全域變數,請在您的 .env 檔案中設定 LANGFLOW_STORE_ENVIRONMENT_VARIABLES=False。