提示词
Open WebUI 工作区中的 提示词 部分允许用户创建、管理和共享自定义提示词。通过保存常用提示词并利用斜杠命令轻松访问,该功能可以极大地简化与 AI 模型的交互。
提示词管理
提示词界面提供了管理自定义提示词的几个关键功能:
- 创建:设计具有自定义标题、访问级别和内容的新提示词。
- 共享:根据配置的访问权限与其他用户共享提示词。
- 访问控制:为每个提示词设置可见性和使用权限(详情请参阅 权限)。
- 斜杠命令:在聊天过程中使用自定义斜杠命令快速调用提示词。
创建和编辑提示词
在创建或编辑提示词时,您可以配置以下设置:
- 标题:为提示词起一个描述性的名称,以便识别。
- 访问权限:设置访问级别,控制谁可以查看和使用该提示词。
- 命令:定义触发该提示词的斜杠命令(例如
/summarize)。 - 提示词内容:编写实际发送给模型的提示词文本。
提示词变量
Open WebUI 支持两种变量,使您的提示词更加动态且强大:系统变量和自定义输入变量。
系统变量在提示词被使用时会自动替换为相应的值。它们对于插入动态信息(如当前日期或用户信息)非常有用。
- 剪贴板内容:使用
{{CLIPBOARD}}插入剪贴板中的内容。 - 日期和时间:
{{CURRENT_DATE}}:当前日期{{CURRENT_DATETIME}}:当前日期和时间{{CURRENT_TIME}}:当前时间{{CURRENT_TIMEZONE}}:当前时区{{CURRENT_WEEKDAY}}:当前星期几
- 用户信息:
{{USER_NAME}}:当前用户名{{USER_LANGUAGE}}:用户选择的语言{{USER_LOCATION}}:用户位置(需要 HTTPS 以及设置 > 界面中的开关)
自定义输入变量将您的提示词转变为交互式模板。当您使用包含这些变量的提示词时,系统会自动弹出一个模态窗口,允许您填写数值。这对于创建像表单一样工作的复杂且可重用的提示词非常强大。请参阅下文的指南以获取完整说明。
通过利用自定义输入变量,您可以超越静态文本,直接在聊天界面中构建交互式工具。该功能旨在做到“防呆化”,即使是非技术用户也能轻松执行复杂的多步骤提示词。用户无需手动编辑一大块文本,而是看到一个简洁、结构化的表单。这不仅简化了工作流程,还通过引导用户以正确的格式提供准确的信息来减少错误。它开启了交互式提示词设计的新高度,让每个人都能使用复杂的 AI 功能。
变量使用指南
- 使用双大括号包裹所有变量:
{{variable}} - 所有自定义输入变量默认都是可选的 —— 用户在填写表单时可以留空。
- 必要时使用
:required标记将特定变量设为必填。 {{USER_LOCATION}}系统变量需要:- 安全的 HTTPS 连接
- 在
设置>界面中启用该功能
{{CLIPBOARD}}系统变量需要获得您设备的剪贴板访问权限。
使用自定义输入变量
工作原理
- 使用下文的语法创建一个包含一个或多个自定义变量的提示词。
- 在聊天输入框中使用该提示词的斜杠命令。
- 将弹出一个 “输入变量”窗口,其中为您定义的每个 变量提供一个表单字段。
- 填写表单并点击
保存。请注意,默认情况下所有字段都是可选的,除非明确标记为必填。 - 提示词中的变量将被您的输入替换,最终的提示词将发送给模型。
语法
有两种定义自定义变量的方法:
-
简单输入:
{{变量名}}- 这将在弹出窗口中创建一个标准的单行
text类型输入框。 - 该字段默认是可选的。
- 这将在弹出窗口中创建一个标准的单行
-
带类型的输入:
{{变量名 | [类型][:属性="值"]}}- 这允许您指定输入字段的类型(例如下拉菜单、日期选择器)并配置其属性。
- 除非添加
:required标记,否则该字段默认是可选的。
必填与可选变量
默认情况下,所有自定义输入变量都是可选的,这意味着用户在填写表单时可以留空。这种灵活的方法允许创建多功能的提示词模板,其中某些信息并不总是必需的。
要将变量设为必填(强制性),请添加 :required 标记:
{{必填字段 | text:required}}
{{可选字段 | text}}
当一个字段被标记为必 填时:
- 表单将在字段标签旁显示视觉指示(星号)。
- 用户如果不提供值,将无法提交表单。
- 如果必填字段为空,浏览器验证将阻止表单提交。
输入类型概览
您可以指定不同的输入类型来构建丰富且用户友好的表单。下表列出了可用的类型及其属性。
| 类型 | 描述 | 可用属性 | 语法示例 |
|---|---|---|---|
| text | 标准单行文本输入框,非常适合捕获姓名、标题或单句摘要等简短信息。如果未指定其他类型,则这是默认类型。 | placeholder, default, required | {{姓名 | text:placeholder="输入姓名":required}} |
| textarea | 多行文本区域,设计用于捕获较长的文本块,如详细说明、文章内容或代码片段。 | placeholder, default, required | {{说明 | textarea:required}} |
| select | 下拉菜单,呈现预定义的选项列表。非常适合确保状态、优先级或分类等输入的连贯性。 | options (JSON 数组), default, required | {{优先级 | select:options=["高","中","低"]:required}} |
| number | 仅限数值输入的字段。适用于数量、评分或任何其他数字数据。 | placeholder, default, required | {{计数 | number:default=5}} |
| checkbox | 一个简单的复选框,代表真或假(布尔值)。非常适合开关切换,例如“是否包含结论?”或“标记为紧急?”。 | default (布尔值), required | {{包含详情 | checkbox}} |
| date | 基于日历的日期选择器,允许用户轻松选择特定的日、月、年,确保标准化的日期格式。 | default (YYYY-MM-DD), required | {{开始日期 | date:required}} |
| datetime-local | 专门的选择器,允许用户选择特定的日期和时间。非常适合预约安排或记录事件时间戳。 | default, required | {{预约 | datetime-local}} |
| color | 视觉颜色选择器,允许用户选择颜色或输入标准十六进制代码(例如 #FF5733)。适用于设计和品牌相关的提示词。 | default (十六进制代码), required | {{品牌颜色 | color:default="#FFFFFF"}} |
| 专门针对电子邮件地址格式化和验证的输入框,确保用户提供结 构正确的电子邮件。 | placeholder, default, required | {{收件人邮箱 | email:required}} | |
| month | 允许用户选择特定的月份和年份,无需选择日期。适用于账单周期、报告或时间轴。注意: 该输入类型仅在 Chrome 和 Edge 中原生支持。在 Firefox 和 Safari 中,它将显示为普通文本输入框。 | default, required | {{结算月份 | month}} |
| range | 滑块控制,允许用户在定义的最小值和最大值范围内选择数值。非常适合满意度评分或百分比调整。 | min, max, step, default, required | {{满意度 | range:min=1:max=10}} |
| tel | 为电话号码设计的输入框。它在语义上向浏览器和设备指示预期的输入类型。 | placeholder, default, required | {{电话号码 | tel}} |
| time | 选择时间的拾取器。适用于安排会议、记录事件或设置提醒(无需关联日期)。 | default, required | {{会议时间 | time}} |
| url | 网页地址 (URL) 的输入框。它有助于确保用户提供链接,对于分 析网站或引用在线资源的提示词非常有用。 | placeholder, default, required | {{网站 | url:required}} |
| map | (实验性) 交互式地图界面,允许用户点击选择地理坐标。这是基于位置的提示词的强大工具。 | default (例如 "51.5,-0.09"), required | {{位置 | map}} |
示例用例
1. 灵活的文章总结器
创建一个可重用的提示词,其中文章内容是必填的,但其他参数是可选的。
-
命令:
/summarize_article -
提示词内容:
请总结以下文章。 {{文章文本 | textarea:placeholder="在此粘贴文章全文...":required}}
{{总结长度 | select:options=["简短 (3 个要点)","详细 (5 个要点)","执行摘要"]:default="简短 (3 个要点)"}}
{{关注重点 | text:placeholder="有什么特定的关注点吗?(可选)"}}
{{包含引用 | checkbox}} 包含文章中的关键引用当您输入
/summarize_article时,将弹出一个模态窗口,包含一个必填的文章文本区域,以及用于自定义总结样式的可选字段。
2. 高级错误报告生成器
该提示词确保捕获关键信息,同时允许可选细节。
-
命令:
/bug_report -
提示词内容:
生成包含以下详情的错误报告:
**摘要:** {{摘要 | text:placeholder="问题的简短摘要":required}}
**优先级:** {{优先级 | select:options=["紧急","高","中","低"]:default="中":required}}
**复现步骤:**
{{步骤 | textarea:placeholder="1. 前往...\n2. 点击...\n3. 看到错误...":required}}
**补充上下文:** {{补充上下文 | textarea:placeholder="浏览器版本、操作系统、截图等 (可选)"}}
**临时方案:** {{临时方案 | textarea:placeholder="发现的任何临时解决方案 (可选)"}}
请将这些内容格式化为一个清晰完整的错误报告文档。这将创建一个表单,其中标题、优先级和步骤是强制性的,而补充上下文和临时方案是可选的。
3. 带有智能默认值的社交媒体帖子生成器
该提示词生成定制内容,包含必填的核心信息和可选的自定义设置。
-
命令:
/social_post -
提示词内容:
为 {{平台 | select:options=["LinkedIn","Twitter","Facebook","Instagram"]:required}} 生成社交媒体帖子。
**主题:** {{主题 | text:placeholder="例如:新功能发布":required}}
**核心信息:** {{核心信息 | textarea:placeholder="需要传达的核心要点是什么?":required}}
**语气:** {{语气 | select:options=["专业","随性","幽默","鼓舞人心"]:default="专业"}}
**行动号召 (CTA):** {{cta | text:placeholder="例如:'了解更多'、'立即注册'"}}
**字符限制:** {{字符限制 | number:placeholder="留空则使用平台默认值"}}
**包含标签:** {{包含标签 | checkbox:default=true}}
请创建一个针对所选平台优化的、具有吸引力的帖子。
4. 结构灵活的会议纪要助手
生成结构化的会议纪要,包含必填的基础信息和可选详情。
-
命 令:
/meeting_minutes -
提示词内容:
# 会议纪要
**日期:** {{会议日期 | date:required}}
**时间:** {{会议时间 | time:required}}
**会议标题:** {{标题 | text:placeholder="例如:每周团队同步会":required}}
**参会人员:** {{参会人员 | text:placeholder="以逗号分隔的名单":required}}
## 议程 / 核心讨论点