跳至主要内容

🧰 函數

🚀 什麼是函數?

函數就像 Open WebUI 的外掛程式。它們幫助您擴展其能力——無論是新增對新 AI 模型供應商(如 Anthropic 或 Vertex AI)的支援、調整訊息處理方式,還是為介面引入自訂按鈕以提升可用性。

與可能需要複雜集成的外部工具不同,函數是內建的,並在 Open WebUI 環境中運行。 這意味著它們快速、模組化,且不依賴外部依賴項。

可以將函數視為模組化的構建塊,讓您根據需要量身定制 WebUI 的功能運作。它們輕量級、高度可定制,並使用純 Python 編寫,因此您可以自由創建任何內容——從新的 AI 驅動工作流程到與您的常用工具(如 Google 搜尋或 Home Assistant)的整合。


🏗️ 函數的類型

在 Open WebUI 中有三種類型的函數,每一種都有其特定用途。我們將分解並解釋它們的具體功能:


1. Pipe 函數 – 創建自訂「代理/模型」

Pipe 函數是您創建自訂代理/模型或整合方式的手段,然後它們會像是獨立模型一樣出現在介面中。

它能做什麼?

  • Pipes 讓您定義複雜的工作流程。例如,您可以創建一個 Pipe,將數據發送到模型 A模型 B,處理它們的輸出,並將結果合併為一個最終答案。
  • Pipes 甚至不必使用 AI! 它們可以用於設置搜尋 API天氣數據,甚至是像 Home Assistant 這樣的系統。 基本上,您想要互動的任何東西都可以成為 Open WebUI 的一部分。

使用案例範例: 假設您想直接從 Open WebUI 查詢 Google 搜尋。您可以創建一個 Pipe 函數,執行以下操作:

  1. 將您的訊息作為搜尋查詢。
  2. 將查詢發送到 Google 搜尋的 API。
  3. 處理響應並將其像普通的 "模型" 響應一樣返回給您。

啟用後,Pipe 函數將顯示為其自己的可選模型。 每當您需要像模型一樣在介面中提供自訂功能時,就可以使用 Pipes。

有關詳細指南,請參見 Pipe 函數


2. Filter 函數 – 修改輸入與輸出

Filter 函數就像是用來調整數據在發送到 AI 之前或返回後的工具。

它能做什麼? Filters 充當工作流程中的「掛鉤」,分為兩個主要部分:

  • Inlet:調整發送到模型的輸入。例如,添加額外指令、關鍵字或格式調整。
  • Outlet:修改從模型接收的輸出。例如,清理響應、調整語氣或將數據格式化為特定樣式。

使用案例範例: 假設您正在處理需要精確格式的項目。您可以使用 Filter 來確保:

  1. 您的輸入總是轉換為所需格式。
  2. 模型的輸出在顯示之前被清理。

Filters 可以鏈接到特定模型,也可以根據需要在所有模型上全域啟用

查看完整指南以獲取更多示例和說明: Filter 函數


3. Action 函數 – 新增自訂按鈕

Action 函數用於向聊天介面添加自訂按鈕

它能做什麼? Actions 允許您定義互動式快捷方式,直接從聊天中觸發特定功能。這些按鈕出現在個別聊天訊息的下方,讓您可以方便地通過單擊訪問您定義的操作。

使用案例範例: 假設您經常需要摘要長訊息或生成特定輸出(例如翻譯)。您可以創建一個 Action 函數來:

  1. 在每個傳入訊息下方添加一個「摘要」按鈕。
  2. 點擊後,它觸發您的自訂函數來處理該訊息並返回摘要。

按鈕提供了乾淨且使用者友好的方式來與您定義的擴展功能互動。

了解如何在 Action 函數指南 中設置它們。


🛠️ 如何使用函數

以下是如何在 Open WebUI 中使用函數:

1. 安裝函數

您可以通過 Open WebUI 介面安裝函數,或者手動導入它們。您可以在 Open WebUI 社群網站 上找到社群創建的函數。

⚠️ 請注意。 僅從可信來源安裝函數。運行未知代碼存在安全風險。


2. 啟用函數

函數在安裝後必須顯式啟用:

  • 啟用 管道功能 後,它將作為一個獨立的 模型 在界面中使用。
  • 對於 篩選器操作功能,僅僅啟用它們還不夠——您還需要將它們分配給特定模型或全域啟用以適用於所有模型。

3. 分配篩選器或操作到模型

  • 前往 工作區 => 模型 並在該處將您的篩選器或操作分配給相關模型。
  • 或者,前往 工作區 => 功能,選擇「...」選單並切換 全域 開關,以啟用所有模型的功能。

快速摘要

  • 管道 作為獨立的模型展示,您可以與之互動。
  • 篩選器 修改輸入或輸出,令 AI 互動更加流暢。
  • 操作 為個別聊天消息添加可點擊的按鈕。

完成設置流程後,功能將無縫提升您的工作流程。


✅ 為什麼使用功能?

功能是專為任何希望在 Open WebUI 中 解鎖新可能性 的人所設計的:

  • 擴展:添加新模型或與非 AI 工具(如 API、資料庫或智能設備)集成。
  • 優化:調整輸入和輸出以完美適應您的使用案例。
  • 簡化:添加按鈕或快捷方式使界面直觀高效。

無論您是為特定項目自定義工作流程、整合外部數據,或只是讓 Open WebUI 更易用,功能是掌控您的介面設置的關鍵。


📝 最後提示:

  1. 請始終僅從 可信來源 安裝功能。
  2. 領會管道、篩選器和操作功能之間的區別,以有效使用它們。
  3. 探索官方指南:

利用功能,您將為您的 Open WebUI 設置帶來全新能力。立即開始實驗吧!🚀