Skip to main content

全域變數

使用全域變數來儲存和重複使用憑證以及在所有FLOW中通用的值。 全域變數通常由FLOW中的組件使用,您可以在任何顯示 全域變數圖示的欄位中使用它們。

相較之下,環境變數(如 LANGFLOW_PORTLANGFLOW_LOG_LEVEL)通常用於配置 AgentBuilder 運行的更廣泛設定。 不過,AgentBuilder 也可以從環境變數中取得全域變數。

AgentBuilder 將全域變數儲存在其內部資料庫中,並使用密鑰加密這些值。

建立全域變數

要建立新的全域變數,請遵循以下步驟。

  1. 在 AgentBuilder 標題中,按一下您的個人檔案圖示,然後選取 Settings

  2. 按一下 Global Variables

  3. 按一下 Add New

  4. Create Variable 對話框中,在 Variable Name 欄位中輸入變數名稱。

  5. 選用:為您的全域變數選取 Type。可用的類型為 Generic(預設)和 Credential

    AgentBuilder 會加密 GenericCredential 類型的全域變數。 不過,Generic 變數在視覺編輯器中不會被遮罩,而 Credential 變數會被遮罩。 Session ID 欄位不接受 Credential(遮罩)變數。

  6. 輸入您的全域變數的 Value

  7. 選用:使用 Apply To Fields 選單選取一或多個您希望 AgentBuilder 自動套用全域變數的欄位。例如,如果您選取 OpenAI API Key,AgentBuilder 會自動將變數套用至任何 OpenAI API Key 欄位。

  8. 按一下 Save Variable

您現在可以從任何顯示 Globe 圖示的文字輸入欄位中選取您的全域變數。

編輯全域變數

  1. 在 AgentBuilder 標題中,按一下您的個人檔案圖示,然後選取 Settings

  2. 按一下 Global Variables

  3. 按一下您要編輯的全域變數。

  4. Update Variable 對話框中,您可以編輯以下欄位:Variable NameValueApply To Fields

  5. 按一下 Update Variable

刪除全域變數

刪除全域變數會永久從資料庫中刪除該值。 參考已刪除全域變數的FLOW將會失敗。

  1. 在 AgentBuilder 標題中,按一下您的個人檔案圖示,然後選取 Settings

  2. 按一下 Global Variables

  3. 按一下要刪除的全域變數旁邊的核取方塊。

  4. 按一下 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_IDWATSONX_API_KEY 的全域變數。 然後,您可以在組件設定中需要的地方使用這些變數。

如果您在本機安裝 AgentBuilder,請在您的 AgentBuilder .env 檔案中設定 LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT

  1. 建立或編輯您的 AgentBuilder .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 替換為您希望 AgentBuilder 從環境取得的其他變數,例如 CUSTOM_API_KEY,INTERNAL_SERVICE_URL["CUSTOM_API_KEY", "INTERNAL_SERVICE_URL"]

  3. 儲存並關閉檔案。

  4. 使用 .env 檔案啟動 AgentBuilder:


    _10
    uv run langflow run --env-file .env

    或者,您可以直接在命令列中設定環境變數:


    _10
    VARIABLE1="VALUE1" VARIABLE2="VALUE2" uv run langflow run --env-file .env

    命令列變數會覆寫 .env 檔案中的相符變數。 以最適合您自己環境的方式向 AgentBuilder 公開您的環境變數。

  5. 確認 AgentBuilder 成功從環境取得全域變數:

    1. 在 AgentBuilder 標題中,按一下您的個人檔案圖示,然後選取 Settings

    2. 按一下 Global Variables,然後確保您的環境變數出現在 Global Variables 清單中。

啟動 AgentBuilder 後,前往您的 AgentBuilder Settings 以確認變數已建立。

只有 NameValue 會從環境取得。 如果您想要配置其他選項,例如 Apply To Fields 選項,您可以在 AgentBuilder Settings 中編輯變數。

從環境取得的全局變數會被指派為 Credential 類型,這會在視覺編輯器中遮罩這些值。 不過,AgentBuilder 會自動加密儲存在資料庫中的_所有_全域變數。

禁止從環境取得全域變數

如果您想要明確防止 AgentBuilder 從環境取得全域變數,請在您的 .env 檔案中設定 LANGFLOW_STORE_ENVIRONMENT_VARIABLES=False

對遺失的全域變數使用環境變數

如果您想要自動將全域變數的後備值設定為環境變數,請在您的 .env 檔案中設定 LANGFLOW_FALLBACK_TO_ENV_VAR=True。 啟用此設定後,如果找不到全域變數,AgentBuilder 會嘗試使用同名的環境變數作為備份。

例如,假設您有以下 AgentBuilder .env 配置,而您的FLOW有一個期望 WATSONX_API_KEY 全域變數的組件:


_10
LANGFLOW_FALLBACK_TO_ENV_VAR=True
_10
WATSONX_PROJECT_ID=your_project_id
_10
WATSONX_API_KEY=your_api_key

當您執行FLOW時,如果沒有名為 WATSONX_API_KEY 的全域變數,AgentBuilder 會尋找名為 WATSONX_API_KEY 的環境變數。 在此範例中,AgentBuilder 會使用來自 .envWATSONX_API_KEY 值來執行FLOW。

Search