Skip to main content

提示词

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

使用自定义输入变量

工作原理

  1. 使用下文的语法创建一个包含一个或多个自定义变量的提示词
  2. 在聊天输入框中使用该提示词的斜杠命令
  3. 将弹出一个 “输入变量”窗口,其中为您定义的每个变量提供一个表单字段。
  4. 填写表单并点击 保存。请注意,默认情况下所有字段都是可选的,除非明确标记为必填。
  5. 提示词中的变量将被您的输入替换,最终的提示词将发送给模型。

语法

有两种定义自定义变量的方法:

  1. 简单输入{{变量名}}

    • 这将在弹出窗口中创建一个标准的单行 text 类型输入框。
    • 该字段默认是可选的。
  2. 带类型的输入{{变量名 | [类型][:属性="值"]}}

    • 这允许您指定输入字段的类型(例如下拉菜单、日期选择器)并配置其属性。
    • 除非添加 :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"}}
email专门针对电子邮件地址格式化和验证的输入框,确保用户提供结构正确的电子邮件。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}}

    ## 议程 / 核心讨论点