Skip to main content

Helpers

Helper components 提供實用功能,協助您在 Flow中管理資料並執行簡單任務。

Calculator

Calculator 組件對數學表達式執行基本算術運算。 它支援加法、減法、乘法、除法和指數運算。

如需在 Flow中使用此組件的範例,請參閱 Python Interpreter 組件

Calculator parameters

NameTypeDescription
expressionString輸入參數。要評估的算術表達式,例如 4*4*(33/22)+12-20
resultData輸出參數。計算結果作為包含評估表達式的 Data 物件

Current Date

Current Date 組件以選定的時區傳回目前的日期和時間。此組件提供了一種靈活的方式,在 AgentBuilder Flow中取得特定時區的日期和時間資訊。

Current Date parameters

NameTypeDescription
timezoneString輸入參數。目前日期和時間的時區。
current_dateString輸出參數。選定時區中產生的目前日期和時間。

Message History

Message History 組件提供合併的聊天歷史記錄和訊息儲存功能。 它可以從 AgentBuilder 儲存空間 專用的聊天記憶資料庫(如 Mem0 或 Redis)儲存和擷取聊天訊息。

tip

Agent 組件預設啟用內建聊天記憶功能,並使用 AgentBuilder 儲存空間。 此內建聊天記憶功能足以滿足大多數使用案例。

在以下使用案例中使用 Message History 組件:

  • 您需要為語言模型組件(而非 agent)儲存和擷取聊天記憶。
  • 您需要在聊天上下文之外擷取聊天記憶,例如擷取並分析最近儲存記憶的情感分析 Flow。
  • 您想要將記憶儲存在與 AgentBuilder 儲存空間分離的特定資料庫中。

如需詳細資訊,請參閱儲存聊天記憶

在 Flow中使用 Message History 組件

Message History 組件有兩種模式,取決於您要在 Flow中的何處使用它:

  • Retrieve 模式:組件從您的 AgentBuilder 資料庫或外部記憶體擷取聊天訊息。
  • Store 模式:組件將聊天訊息儲存在您的 AgentBuilder 資料庫或外部記憶體中。

這表示如果您想要同時儲存和擷取聊天訊息,則需要在 Flow中使用多個 Message History 組件。

以下步驟說明如何建立使用 Message History 組件從您的 AgentBuilder 安裝資料庫儲存和擷取聊天記憶的聊天式 Flow:

  1. 建立或編輯您想要使用聊天記憶的 Flow。

  2. 在 Flow開始處新增 Message History 組件,然後將其設定為 Retrieve 模式。

    根據需要在 Message History 組件中設定任何其他參數,考慮到此特定組件將擷取聊天訊息而非儲存它們。

  3. 新增 Prompt Template 組件,在 Template 欄位中新增 {memory} 變數,然後將 Message History 輸出連接到 memory 輸入。

    Prompt Template 組件為 LLM 提供指令和上下文,與通過 Chat Input 組件傳遞的聊天訊息分開。 範本可以包含您想要提供給 LLM 的任何文字和變數,例如:


    _10
    You are a helpful assistant that answers questions.
    _10
    _10
    Use markdown to format your answer, properly embedding images and urls.
    _10
    _10
    History:
    _10
    _10
    {memory}

    範本中的變數 ({variable}) 會動態為 Prompt Template 組件新增欄位,以便您的 Flow可以從其他地方接收這些值的定義,例如其他組件、AgentBuilder 全域變數或執行時期輸入。 如需詳細資訊,請參閱在提示中定義變數

    在此範例中,{memory} 變數由擷取的聊天記憶體填入,然後傳遞給 Language ModelAgent 組件以為 LLM 提供額外上下文。

  4. Prompt Template 組件的輸出連接到 Language Model 組件的 System Message 輸入。

    此範例使用 Language Model 核心組件作為中央聊天驅動程式,但您也可以使用另一個語言模型組件或 Agent 組件。

  5. 新增 Chat Input 組件,然後將其連接到 Language Model 組件的 Input 欄位。

  6. Language Model 組件的輸出連接到 Chat Output 組件。

  7. 在 Flow結尾處,新增另一個 Message History 組件,然後將其設定為 Store 模式。

    根據需要在第二個 Message History 組件中設定任何其他參數,考慮到此特定組件將儲存聊天訊息而非擷取它們。

  8. Chat Output 組件的輸出連接到 Message History 組件的 Message 輸入。

    LLM 的每個回應從 Language Model 組件輸出到 Chat Output 組件,然後由最終的 Message History 組件儲存在聊天記憶體中。

Message History parameters

某些參數在視覺編輯器中預設為隱藏。 您可以透過 Components的標頭選單 中的 Controls 修改所有參數。

可用的參數取決於組件是處於 Retrieve 還是 Store 模式。

NameTypeDescription
Template (template)String輸入參數。用於格式化資料的範本。它可以包含鍵 {text}{sender} 或訊息資料中的任何其他鍵。
External Memory (memory)External Memory輸入參數。從外部記憶體擷取訊息。若為空值,則使用 AgentBuilder 儲存空間。
Number of Messages (n_messages)Integer輸入參數。要擷取的訊息數量。預設值:100。
Order (order)String輸入參數。訊息的順序。預設值:Ascending
Sender Type (sender_type)String輸入參數。依傳送者類型篩選,UserMachineMachine and User(預設)之一。
Session ID (session_id)String輸入參數。要擷取的聊天記憶的工作階段 ID。若省略或為空值,則使用 Flow執行的目前工作階段 ID。

Message History output

記憶體可以以兩種格式之一擷取:

  • Message:將記憶體擷取為 Message 物件,包括包含擷取的聊天訊息文字的 messages_text。 這是用來將記憶體 作為聊天訊息 傳遞給另一個組件的典型輸出格式。

  • DataFrame:將記憶體作為包含訊息資料的 DataFrame 傳回。 適用於您需要以表格格式擷取記憶體而非聊天訊息的情況。

您可以在組件的輸出連接埠附近設定輸出類型。

舊版 Helper 組件

舊版Components不再受支援,並且可能在未來版本中被移除。 您可以繼續在現有 Flow 中使用它們,但建議您盡快將它們替換為受支援的Components。 建議的替換方案包含在 Flow 中Components上的 Legacy 橫幅中。 它們也會在發行說明和 AgentBuilder 文件中盡可能提供。

如果您不確定如何替換舊版Components,請按提供者、服務或Components名稱 Search Components。 Components可能已被棄用,取而代之的是完全新的Components、類似的Components,或同一類別中同一Components的較新版本。

如果沒有明顯的替換方案,請考慮另一個Components是否可以適應您的使用案例。 例如,許多 Core components 提供通用功能,可以支援多個提供者和使用案例,例如 API Request Components

如果這些選項都不可行,您可以使用舊版Components的程式碼建立自己的自訂Components,或在 GitHub 上開始討論 關於舊版Components。

為了阻止在新 Flow 中使用舊版Components,這些Components預設為隱藏。 在視覺編輯器中,您可以點擊 Component settings 來切換 Legacy 篩選器。

以下 Helper 組件處於舊版狀態:

  • Message Store:由 Message History 組件 取代

  • Create List:以 Processing 組件 取代

  • ID Generator:以執行任意程式碼來產生 ID 的組件取代,或將 ID 產生器指令碼嵌入您的應用程式程式碼(在您的 AgentBuilder FLOW之外)。

  • Output Parser:以 Structured Output 組件Parser 組件 取代。 您需要的組件取決於資料類型和解析任務的複雜性。

    Output Parser 組件將語言模型的輸出轉換為逗號分隔值 (CSV) 格式,例如 ["item1", "item2", "item3"],使用 LangChain 的 CommaSeparatedListOutputParserStructured Output 組件是此組件的良好替代方案,因為它也使用自訂結構描述格式化 LLM 回應,並支援更複雜的解析。

    Parsing 組件僅提供格式化指令和解析功能。 它們不包含提示。 您必須將解析器連接至 Prompt Template 組件來建立 LLM 可以使用的提示。

Search