跳到主要内容

📚 提示词

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}} 系统变量需要您的设备提供剪贴板访问权限

使用自定义输入变量

工作原理

  1. 创建提示词,使用以下语法包含一个或多个自定义变量。
  2. 在聊天输入中使用提示词的斜杠命令
  3. 将出现一个“输入变量”弹出窗口,其中包含您定义的每个变量的表单字段。
  4. 填写表单并点击保存
  5. 提示词中的变量将替换为您的输入,最终的提示词将发送给模型。

语法

定义自定义变量有两种方式

  1. 简单输入{{variable_name}}

    • 这会在弹出窗口中创建一个标准的单行文本输入字段。
  2. 类型化输入{{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 文本,使模板易于理解。
  • 在提示词描述中记录任何特定要求或预期输入
  • 测试不同变量组合的提示词,以确保它们按预期工作
  • 与其他用户共享提示词时,请仔细考虑访问级别——公开共享意味着当所有用户在聊天中输入/时,提示词将自动显示,因此您应避免创建过多。