📚 提示词
Open WebUI 中 工作区 (Workspace)
的 提示词 (Prompts)
部分允许用户创建、管理和共享自定义提示词。此功能使用户能够保存常用提示词并通过斜杠命令轻松访问,从而简化了与 AI 模型的交互。
提示词管理
提示词界面提供了几个用于管理自定义提示词的关键功能
- 创建:设计新的提示词,可自定义标题、访问级别和内容。
- 共享:根据配置的访问权限与其他用户共享提示词。
- 访问控制:设置每个提示词的可见性和使用权限(更多详细信息请参阅权限)。
- 斜杠命令:在聊天会话期间使用自定义斜杠命令快速访问提示词。
创建和编辑提示词
创建或编辑提示词时,您可以配置以下设置
- 标题:为您的提示词提供一个描述性名称,以便于识别。
- 访问:设置访问级别以控制谁可以查看和使用该提示词。
- 命令:定义一个将触发提示词的斜杠命令(例如,
/summarize
)。 - 提示词内容:编写将发送给模型的实际提示词文本。
提示词变量
Open WebUI 支持两种变量,使您的提示词更具动态性和强大功能:系统变量和自定义输入变量。
系统变量在使用提示词时会自动替换为相应的值。它们对于插入动态信息(如当前日期或用户详细信息)很有用。
- 剪贴板内容:使用
{{CLIPBOARD}}
插入剪贴板中的内容。 - 日期和时间:
{{CURRENT_DATE}}
:当前日期{{CURRENT_DATETIME}}
:当前日期和时间{{CURRENT_TIME}}
:当前时间{{CURRENT_TIMEZONE}}
:当前时区{{CURRENT_WEEKDAY}}
:当前星期几
- 用户信息:
{{USER_NAME}}
:当前用户名{{USER_LANGUAGE}}
:用户选择的语言{{USER_LOCATION}}
:用户位置(需要 HTTPS 和“设置”>“界面”中的开关启用)
自定义输入变量将您的提示词转换为交互式模板。当您使用包含这些变量的提示词时,会自动出现一个模态窗口,允许您填写值。这对于创建功能类似于表单的复杂、可重用提示词非常强大。有关完整说明,请参阅下面的指南。
通过利用自定义输入变量,您可以超越静态文本,直接在聊天界面中构建交互式工具。此功能设计得万无一失,即使是非技术用户也能轻松执行复杂的、多步骤的提示词。用户无需手动编辑大段文本,而是会看到一个清晰、结构化的表单。这不仅简化了工作流程,还通过引导用户以正确的格式提供准确的信息来减少错误。它解锁了交互式提示词设计的新水平,使所有人都能轻松使用复杂的 AI。
变量使用指南
- 所有变量都用双花括号括起来:
{{variable}}
{{USER_LOCATION}}
系统变量需要- 安全的 HTTPS 连接
- 在
设置
>界面
中启用该功能
{{CLIPBOARD}}
系统变量需要您的设备提供剪贴板访问权限
使用自定义输入变量
工作原理
- 创建提示词,使用以下语法包含一个或多个自定义变量。
- 在聊天输入中使用提示词的斜杠命令。
- 将出现一个“输入变量”弹出窗口,其中包含您定义的每个变量的表单字段。
- 填写表单并点击
保存
。 - 提示词中的变量将替换为您的输入,最终的提示词将发送给模型。
语法
定义自定义变量有两种方式
-
简单输入:
{{variable_name}}
- 这会在弹出窗口中创建一个标准的单行
文本
输入字段。
- 这会在弹出窗口中创建一个标准的单行
-
类型化输入:
{{variable_name | [type][:property="value"]}}
- 这允许您指定输入字段的类型(例如,下拉菜单、日期选择器)并配置其属性。
输入类型概述
您可以指定不同的输入类型来构建丰富、用户友好的表单。以下是可用类型及其属性的表格。
类型 | 描述 | 可用属性 | 语法示例 |
---|---|---|---|
文本 | 一个标准的单行文本输入字段,非常适合捕获简短的信息,如姓名、标题或单句摘要。如果未指定其他类型,则这是默认类型。 | placeholder (占位符),default (默认值) | {{name | text:placeholder="请输入名称"}} |
文本区域 | 一个多行文本区域,用于捕获较长的文本块,例如详细描述、文章内容或代码片段。 | placeholder (占位符),default (默认值) | {{description | textarea}} |
选择 | 一个下拉菜单,提供预定义的选项列表。这非常适合确保状态、优先级或类别等的一致输入。 | options (JSON 数组),default (默认值) | {{priority | select:options=["高","低"]}} |
数字 | 仅限于数值的输入字段。适用于数量、评分或任何其他数字数据。 | placeholder (占位符),default (默认值) | {{count | number:default=5}} |
复选框 | 一个简单的复选框,表示真或假(布尔)值。非常适合开关,例如“包含结论?”或“标记为紧急?”。 | default (布尔值) | {{include_details | checkbox}} |
日期 | 一个基于日历的日期选择器,允许用户轻松选择特定的日、月、年,确保日期格式标准化。 | default (YYYY-MM-DD) | {{start_date | date}} |
本地日期时间 | 一个专用选择器,允许用户选择特定日期和特定时间。非常适合安排约会或记录事件时间戳。 | default(默认值) | {{appointment | datetime-local}} |
颜色 | 一个可视化颜色选择器,允许用户选择颜色或输入标准十六进制代码(例如,#FF5733)。适用于设计和品牌提示词。 | default (十六进制代码) | {{brand_color | color:default="#FFFFFF"}} |
电子邮件 | 一个专门为电子邮件地址格式化和验证的输入字段,确保用户提供正确结构的电子邮件。 | placeholder (占位符),default (默认值) | {{recipient_email | email}} |
月份 | 一个选择器,允许用户选择特定月份和年份,无需选择日期。适用于账单周期、报告或时间线。 | default(默认值) | {{billing_month | month}} |
范围 | 一个滑块控件,允许用户在定义的最小和最大范围内选择数值。非常适合满意度评分或百分比调整。 | min (最小值),max (最大值),step (步长),default (默认值) | {{satisfaction | range}} |
电话 | 专为电话号码设计的输入字段。它在语义上指示浏览器和设备的预期输入类型。 | placeholder (占位符),default (默认值) | {{phone_number | tel}} |
时间 | 一个时间选择器。适用于安排会议、记录事件或设置提醒,无需关联日期。 | default(默认值) | {{meeting_time | time}} |
URL | 用于网址(URL)的输入字段。它有助于确保用户提供链接,这对于分析网站或引用在线资源的提示词很有用。 | placeholder (占位符),default (默认值) | {{website | url}} |
地图 | (实验性)一个交互式地图界面,允许用户点击选择地理坐标。这是位置提示词的强大工具。 | default (默认值,例如,“51.5,-0.09”) | {{location | map}} |
示例用例
1. 简单文章摘要器
创建一个可重用提示词来总结任何文章。
- 命令:
/summarize_article
- 提示词内容
当您键入
Please summarize the following article in three key bullet points. Be concise and clear.
Article:
{{article_text | textarea:placeholder="Paste the full text of the article here..."}}/summarize_article
时,将出现一个带有大文本区域的模态窗口,提示您粘贴文章文本。
2. 高级错误报告生成器
此提示词充当结构化表单,以确保捕获错误报告所需的所有详细信息。
- 命令:
/bug_report
- 提示词内容
使用时,此提示词将生成一个包含文本输入、下拉菜单和两个文本区域的表单。
Generate a bug report with the following details:
**Summary:** {{summary | text:placeholder="A brief summary of the issue"}}
**Priority:** {{priority | select:options=["High", "Medium", "Low"]:default="Medium"}}
**Steps to Reproduce:**
{{steps | textarea:placeholder="1. Go to...\n2. Click on...\n3. See error..."}}
Please format this into a clear and complete bug report document.
3. 社交媒体帖子生成器
此提示词为不同的社交媒体平台生成定制内容。
- 命令:
/social_post
- 提示词内容
Generate a social media post for the {{platform}} platform.
**Topic:** {{topic | text:placeholder="e.g., New feature launch"}}
**Key Message:** {{key_message | textarea:placeholder="What are the essential points to communicate?"}}
**Tone of Voice:** {{tone | select:options=["Professional", "Casual", "Humorous", "Inspirational"]:default="Professional"}}
**Call to Action:** {{cta | text:placeholder="e.g., 'Learn more', 'Sign up today'"}}
Please include relevant hashtags.
4. 会议纪要助手
通过填写简单表单快速生成结构化会议纪要。
- 命令:
/meeting_minutes
- 提示词内容
# Meeting Minutes
**Date:** {{meeting_date | date}}
**Time:** {{meeting_time | time}}
**Attendees:** {{attendees | text:placeholder="Comma-separated list of names"}}
## Agenda / Key Discussion Points
{{agenda_items | textarea:placeholder="Paste the agenda or list the key topics discussed."}}
## Action Items
{{action_items | textarea:placeholder="List each action item, who it is assigned to, and the deadline."}}
Please format the above information into a clean and professional meeting summary.
访问控制和权限
提示词管理由以下权限设置控制
- 提示词访问:用户需要
USER_PERMISSIONS_WORKSPACE_PROMPTS_ACCESS
权限才能创建和管理提示词。 - 有关配置权限的详细信息,请参阅权限文档。
最佳实践
- 为您的提示词使用清晰、描述性的标题
- 创建直观的斜杠命令,以反映提示词的目的
- 对于自定义变量,请使用清晰的名称(例如,
{{your_name}}
而不是{{var1}}
)和描述性的placeholder
文本,使模板易于理解。 - 在提示词描述中记录任何特定要求或预期输入
- 测试不同变量组合的提示词,以确保它们按预期工作
- 与其他用户共享提示词时,请仔细考虑访问级别——公开共享意味着当所有用户在聊天中输入
/
时,提示词将自动显示,因此您应避免创建过多。