5.2 KiB
5.2 KiB
OpenWebUI 核心概念指南:模型与提示词
在 OpenWebUI 中,System Prompt (系统提示词) 和 User Prompt (用户提示词) 是两个截然不同但紧密协作的概念。正确理解它们的区别对于配置和使用插件至关重要。
1. 模型 (Model) vs 提示词 (Prompt)
| 概念 | 对应术语 | 核心作用 | 形象比喻 |
|---|---|---|---|
| Model (模型) | System Prompt | 定义身份与能力 | “大脑” 或 “专家人设” |
| Prompt (提示词) | User Prompt | 定义指令与交互 | “快捷指令” 或 “工具表单” |
2. 深度解析
🧠 Model (模型)
- 定义源:
System Prompt(系统提示词) - 文件示例:
system_prompt_cn.md - 功能:
- 告诉 AI “你是谁”(例如:你是一个信息图设计专家)。
- 规定 AI “必须做什么”(例如:必须输出 HTML 代码,不能有废话)。
- 赋予 AI “专业技能”(例如:掌握 AntV 的语法映射规则)。
- 在 OpenWebUI 中配置:
- 位置: Workspace -> Models -> Create Model
- 操作: 将
system_prompt_cn.md的内容粘贴到 System Prompt 区域。 - 结果: 创建出一个新的模型实体(如“智能信息图助手”),你可以在聊天列表的下拉菜单中选择它。
⚡ Prompt (提示词/命令)
- 定义源:
User Prompt(用户提示词) - 文件示例:
user_prompt_cn.md - 功能:
- 为用户提供便捷的 “触发命令”(例如:
/infographic-cn)。 - 提供 “交互表单”(例如:选择模板、风格、配色)。
- 将用户的简单输入包装成符合模型要求的 “最终指令”。
- 为用户提供便捷的 “触发命令”(例如:
- 在 OpenWebUI 中配置:
- 位置: Workspace -> Prompts -> Create Prompt
- 操作: 将
user_prompt_cn.md的内容粘贴到 Content 区域,并设置 Command (如/infographic-cn)。 - 结果: 创建出一个快捷命令,你在聊天输入框输入
/时可以调用它。
3. 协同工作流程 (以信息图插件为例)
- 选择模型: 用户在聊天框左上角选择 “智能信息图助手” (Model)。
- 此时,AI 已经加载了
System Prompt,准备好以“信息图专家”的身份工作。
- 此时,AI 已经加载了
- 调用命令: 用户在输入框输入
/infographic-cn(Prompt)。- 此时,OpenWebUI 弹出表单,用户填写内容、选择模板和风格。
- 发送指令: 用户点击发送。
- OpenWebUI 将用户填写的表单内容,按照
User Prompt定义的格式(包含英文 key)组装好,发送给 AI。
- OpenWebUI 将用户填写的表单内容,按照
- 生成结果: AI (Model) 接收到指令。
4. Function (功能/插件)
在 OpenWebUI 中,Function (有时也称为 Plugins) 是指扩展系统能力的 Python 脚本。主要分为三种类型:
| 类型 | 英文术语 | 核心作用 | 典型示例 |
|---|---|---|---|
| 管道 | Pipe | 自定义模型逻辑 | 接入 Claude/Gemini API,或自定义处理流程 |
| 过滤器 | Filter | 拦截/修改消息 | 敏感词过滤、自动添加上下文、PDF 解析 |
| 动作 | Action | 交互式工具/按钮 | 信息图插件、生成 Excel、思维导图 |
🔍 详细说明
-
Pipe (管道):
- 作为一个 “模型” 出现在模型列表中。
- 接收用户输入,经过自定义逻辑处理后,返回结果。
- 常用于接入外部未原生支持的模型,或构建复杂的处理工作流。
-
Filter (过滤器):
- 作为一个 “中间件” 隐形工作。
- Inlet (入口): 在用户发送消息给模型 之前 拦截并修改(如:给提示词加前缀)。
- Outlet (出口): 在模型返回消息给用户 之后 拦截并修改(如:格式化输出)。
-
Action (动作/工具):
- 作为一个 “工具” 或 “按钮” 存在。
- Tool (工具): 模型可以主动调用的函数 (Function Calling),如联网搜索、计算器。
5. Pipelines (外部管道系统)
Pipelines 是 OpenWebUI 的一个独立扩展系统(通常作为一个单独的 Docker 容器运行),它与 Functions 有所区别但功能重叠。
| 特性 | Functions (内置功能) | Pipelines (外部管道) |
|---|---|---|
| 运行位置 | OpenWebUI 主程序内部 | 独立的 Docker 容器 / 服务 |
| 安装方式 | 在界面上直接导入/编写 Python 脚本 | 需要部署额外的服务,通过 URL 连接 |
| 依赖管理 | 依赖 OpenWebUI 环境,受限 | 独立环境,可随意安装任意 Python 库 |
| 适用场景 | 轻量级工具、简单的逻辑处理、UI 交互 | 复杂的 AI 代理、重型计算、依赖特定库的任务 |
关系说明:
- Functions 中的 Pipe 类型,实际上就是受到 Pipelines 启发而开发的“内置轻量版”。
- 如果你只需要简单的逻辑(如接入一个 API),使用 Functions (Pipe) 即可。
- 如果你需要运行复杂的 Python 代码(如使用 Pandas 分析数据、运行本地小模型),建议使用 Pipelines。