🧰 功能
🚀 什么是函数?
函数就像 Open WebUI 的插件。它们帮助您扩展其功能——无论是添加对 Anthropic 或 Vertex AI 等新 AI 模型提供商的支持,调整消息处理方式,还是在界面中引入自定义按钮以提高可用性。
与可能需要复杂集成的外部工具不同,函数内置于 Open WebUI 环境中并运行于其中。这意味着它们速度快、模块化,并且不依赖外部依赖。
将函数视为模块化构建块,它们可以根据您的确切需求增强 WebUI 的工作方式。它们轻量、高度可定制,并用纯 Python 编写,因此您可以自由创建任何东西——从新的 AI 驱动工作流到与您使用的任何事物(例如 Google 搜索或 Home Assistant)的集成。
🏗️ 函数类型
Open WebUI 中有三种类型的函数,每种都有特定的用途。让我们逐一分解并准确解释它们的功能。
1. 管道函数 – 创建自定义“代理/模型”
管道函数是您创建自定义代理/模型或集成的方式,它们随后会出现在界面中,就像它们是独立的模型一样。
它有什么作用?
- 管道让您能够定义复杂的工作流。例如,您可以创建一个管道,将数据发送到模型 A 和模型 B,处理它们的输出,并将结果合并为一个最终答案。
- 管道甚至不必使用 AI!它们可以是搜索 API、天气数据的设置,甚至是像 Home Assistant 这样的系统。基本上,您想与之交互的任何事物都可以成为 Open WebUI 的一部分。
用例示例
想象一下您想直接从 Open WebUI 查询 Google 搜索。您可以创建一个管道函数,它将:
- 将您的消息作为搜索查询。
- 将查询发送到 Google 搜索的 API。
- 处理响应并像正常的“模型”响应一样将其返回到 WebUI 中。
启用后,管道函数会作为其自己的可选模型显示。每当您需要像界面中的模型一样工作的自定义功能时,请使用管道。
有关详细指南,请参阅管道函数。
2. 筛选函数 – 修改输入和输出
筛选函数就像一个工具,用于在数据发送到 AI 之前或返回之后进行调整。
它有什么作用?
筛选器在工作流中充当“钩子”,主要有两个部分:
- 入口(Inlet):调整发送到模型的输入。例如,添加额外的指令、关键词或格式调整。
- 出口(Outlet):修改您从模型接收到的输出。例如,清理响应、调整语气或将数据格式化为特定样式。
用例示例
假设您正在处理一个需要精确格式的项目。您可以使用筛选器来确保:
- 您的输入始终转换为所需的格式。
- 模型的输出在显示前被清理。
筛选器可以链接到特定模型,也可以根据您的需要全局为所有模型启用。
查看完整指南以获取更多示例和说明:筛选函数。
3. 动作函数 – 添加自定义按钮
动作函数用于向聊天界面添加自定义按钮。
它有什么作用?
动作允许您定义交互式快捷方式,直接从聊天中触发特定功能。这些按钮显示在每条聊天消息下方,让您方便地一键访问您定义的动作。
用例示例
假设您经常需要总结长消息或生成特定输出(例如翻译)。您可以创建一个动作函数来:
- 在每条收到的消息下方添加一个“总结”按钮。
- 点击时,它会触发您的自定义函数来处理该消息并返回总结。
按钮提供了一种简洁且用户友好的方式,与您定义的扩展功能进行交互。
在动作函数指南中了解如何设置它们。
🛠️ 如何使用函数
以下是如何在 Open WebUI 中使用函数:
1. 安装函数
您可以通过 Open WebUI 界面安装函数,或手动导入它们。您可以在Open WebUI 社区站点上找到社区创建的函数。
⚠️ 请谨慎。仅从受信任的来源安装函数。运行未知代码存在安全风险。
2. 启用函数
函数在安装后必须明确启用:
- 当您启用管道函数时,它会作为其自己的模型在界面中可用。
- 对于筛选和动作函数,仅仅启用它们是不够的——您还需要将它们分配给特定模型,或为所有模型全局启用它们。
3. 将筛选器或动作分配给模型
- 导航到
工作区 => 模型
,并在那里将您的筛选器或动作分配给相关的模型。 - 或者,通过前往
工作区 => 函数
,选择“...”菜单,然后切换全局开关,为所有模型全局启用函数。
快速总结
- 管道显示为可以与其交互的独立模型。
- 筛选器修改输入/输出以实现更流畅的 AI 交互。
- 动作为每条聊天消息添加可点击按钮。
一旦您遵循设置过程,函数将无缝地增强您的工作流。
✅ 为什么要使用函数?
函数旨在帮助任何希望通过 Open WebUI 解锁新可能性的用户:
- 扩展:添加新模型或与非 AI 工具(如 API、数据库或智能设备)集成。
- 优化:调整输入和输出以完美适应您的用例。
- 简化:添加按钮或快捷方式,使界面直观高效。
无论您是为特定项目自定义工作流,集成外部数据,还是仅仅为了让 Open WebUI 更易于使用,函数都是掌控您的实例的关键。
📝 最终说明:
通过利用函数,您将为您的 Open WebUI 设置带来全新的功能。今天就开始尝试吧!🚀