Files

5.2 KiB
Raw Permalink Blame History

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. 协同工作流程 (以信息图插件为例)

  1. 选择模型: 用户在聊天框左上角选择 “智能信息图助手” (Model)。
    • 此时AI 已经加载了 System Prompt,准备好以“信息图专家”的身份工作。
  2. 调用命令: 用户在输入框输入 /infographic-cn (Prompt)。
    • 此时OpenWebUI 弹出表单,用户填写内容、选择模板和风格。
  3. 发送指令: 用户点击发送。
    • OpenWebUI 将用户填写的表单内容,按照 User Prompt 定义的格式(包含英文 key组装好发送给 AI。
  4. 生成结果: AI (Model) 接收到指令。

4. Function (功能/插件)

在 OpenWebUI 中,Function (有时也称为 Plugins) 是指扩展系统能力的 Python 脚本。主要分为三种类型:

类型 英文术语 核心作用 典型示例
管道 Pipe 自定义模型逻辑 接入 Claude/Gemini API或自定义处理流程
过滤器 Filter 拦截/修改消息 敏感词过滤、自动添加上下文、PDF 解析
动作 Action 交互式工具/按钮 信息图插件、生成 Excel、思维导图

🔍 详细说明

  1. Pipe (管道):

    • 作为一个 “模型” 出现在模型列表中。
    • 接收用户输入,经过自定义逻辑处理后,返回结果。
    • 常用于接入外部未原生支持的模型,或构建复杂的处理工作流。
  2. Filter (过滤器):

    • 作为一个 “中间件” 隐形工作。
    • Inlet (入口): 在用户发送消息给模型 之前 拦截并修改(如:给提示词加前缀)。
    • Outlet (出口): 在模型返回消息给用户 之后 拦截并修改(如:格式化输出)。
  3. 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