指令模式

中文译稿 · 由官方原文机器翻译,尚未逐句校对。对照原文 ↗

指令模式允许您调整在各种提示词格式(例如 Alpaca、ChatML、Llama2 等)上训练的指令跟踪模型的提示。

适用于:文本补全 API

对于聊天补全 API 中的等效设置,请使用 提示词管理器.

API支持

文本补全 API

完全支持。这包括:

  • 文本补全下的所有来源
  • KoboldAI 经典版
  • AI Horde

选择格式

所选的指令模板必须符合后端运行的实际模型的期望。

这通常反映在 HuggingFace 上的模型卡中,有些甚至提供 SillyTavern 兼容的 JSON 文件。

示例: NeverSleep/Noromaid-13b-v0.1.1

聊天补全 API(OpenAI、Claude 等)

不支持此功能 (并且不需要) 对于聊天补全 API。他们使用完全不同的提示词构建器。

小说人工智能

同时 技术上 支持 NovelAI,但他们的模型都没有经过训练来理解指令格式。 NovelAI 模型可以使用激活的特殊指令模块 自动地 当聊天消息中遇到大括号括起来的指令时,因此对整个提示词使用指令模式将导致 质量下降 的输出。

下面是自动激活 NovelAI 指令模块的示例:

User: { Write a happy song about Nintendo Switch. }

指令模式设置

系统提示词

最近的变化

系统提示词现在是一个独立的实体。请参阅 高级格式设置 页面了解更多详情。

模板

为一些知名的指令模型提供带有序列的现成模板。

更改模板会将未保存的设置重置为上次保存的状态!如果您进行了任何不想丢失的更改,请不要忘记保存模板。

激活正则表达式

如果定义为有效的正则表达式,当连接到模型并且其名称与此正则表达式匹配时,将自动选择此模板。

需要事先启用指令模式。仅选择跨模板的第一个正则表达式匹配(按字母顺序评估)。

用换行符换行序列

每个序列文本在插入提示词时都会用换行符角色换行。羊驼及其衍生品所必需的。

如果您想完全控制行终止符,请禁用。

替换序列中的宏

如果启用,则已知的 {{macro}} 替换(如果在消息包装序列中定义)将被替换。

此外,可以在消息前缀中使用特殊的 {{name}} 宏来引用附加到消息的实际名称(而不是当前活动的 {{char}} 或 {{user}}),这在使用群聊或 /sendas 命令时非常有用。如果无法确定名称,则使用“System”作为后备占位符。

包括姓名

如果启用,则在前缀序列之后将角色和用户名添加到聊天历史记录日志中。

可以使用以下选项:

  • 从来没有:不要在消息内容前添加名称前缀。
  • 团体和过去用户人设:仅向来自角色组和过去用户人设的消息添加名称前缀。
  • 总是:始终在消息内容之前添加名称前缀。

序列:故事字符串包装

最近的变化

系统提示词环绕已被删除并替换为故事字符串环绕。

定义当位置设置为“默认(上下文顶部)”时如何包装故事字符串

故事字符串前缀

插入故事字符串之前。

故事字符串后缀

插入到故事字符串之后。

序列:聊天消息包装

这些设置定义了在构建提示词时如何包装属于不同角色的消息。

所有前缀序列也将自动用作停止字符串。

用户消息前缀

在模拟时插入用户消息之前并作为最后提示词行。

用户消息后缀

插入在用户消息之后。

助理消息前缀

在生成 AI 回复时插入助理消息之前并作为最后提示词行。

助理消息后缀

在助理消息后插入

系统消息前缀

插入系统消息(通过斜杠命令或扩展添加)之前。

系统消息后缀

插入系统消息之后。

系统与用户相同

如果选中 true,系统消息将使用用户角色消息序列。

否则,系统消息使用自己的序列(如果不为空)或根本不会进行任何包装(如果为空)。

杂项。序列

用于对提示词建筑进行微调的各种高级配置

第一助理前缀

插入到第一条助理消息之前。

仅第一条消息 聊天记录 重要的是,不是首先实际进入提示词的消息!

最后的助手前缀

在生成 AI 回复时插入到最后一条助手消息之前或作为最后提示词行。

在背景中生成文本时不使用(例如稳定扩散提示词或摘要)。将使用系统指令前缀或常规助手前缀。

系统指令前缀

在背景中生成中性/系统文本时作为最后提示词行插入(例如稳定扩散提示词或摘要)。

用户填写信息

如果聊天记录不以用户消息开头,则将插入到聊天记录的开头。

使用案例: 当指令格式 严格要求 提示词用户至上,并且仅具有交替角色的消息,例如:Llama 2 Chat、Mistral Instruct。

停止顺序

表示回复结束的文本。还作为停止字符串发送到后端 API。

如果生成停止序列,则超过该序列的所有内容都将从输出中删除(包括序列本身)。