#
指令模式
指令模式允许您调整在各种提示格式(如 Alpaca、ChatML、Llama2 等)上训练的指令遵循模型的提示。
适用于:文本完成 API
对于聊天完成 API 中的等效设置,请使用提示管理器。
#
API 支持
#
文本完成 API
完全支持。这包括:
- 文本完成下的所有源
- KoboldAI Classic
- AI Horde
#
选择格式
选择的指令模板必须与后端上运行的实际模型的期望相匹配。
这通常反映在 HuggingFace 上的模型卡中,有些甚至提供与 SillyTavern 兼容的 JSON 文件。
示例:NeverSleep/Noromaid-13b-v0.1.1
#
聊天完成 API(OpenAI、Claude 等)
这不适用于聊天完成 API (并且不需要)。它们使用完全不同的提示构建器。
#
NovelAI
虽然技术上支持 NovelAI,但他们的模型都没有经过训练来理解指令格式。NovelAI 模型可以使用特殊的指令模块,当在聊天消息中遇到用花括号括起来的指令时,该模块会自动激活,因此对整个提示使用指令模式将导致输出的质量下降。
这是一个自动激活 NovelAI 指令模块的示例:
用户:{ 写一首关于 Nintendo Switch 的快乐歌曲。 }
#
指令模式设置
#
系统提示
最近的变化
系统提示现在是一个独立的实体。有关更多详细信息,请参阅高级格式化页面。
#
模板
为一些知名的指令模型提供现成的模板序列。
更改模板会将未保存的设置重置到最后保存的状态!如果您进行了不想丢失的更改,请不要忘记保存您的模板。
#
激活正则表达式
如果定义为有效的正则表达式,当连接到模型且其名称与此正则表达式匹配时,将自动选择此模板。
指令模式需要事先启用。只有跨模板的第一个正则表达式匹配将被选择(按字母顺序评估)。
#
用换行符包装序列
插入提示时,每个序列文本都将用换行符包装。Alpaca 及其衍生版本需要此功能。
如果您想完全控制行终止符,请禁用此功能。
#
替换序列中的宏
如果启用,如果在消息包装序列中定义,则已知的 {{macro}} 替换将被替换。
此外,可以在消息前缀中使用特殊的 {{name}} 宏来引用附加到消息的实际名称(而不是当前活动的 {{char}} 或 {{user}}),这在使用群组聊天或 /sendas 命令时很有帮助。如果无法确定名称,则使用"System"作为回退占位符。
#
包含名称
如果启用,在前缀序列后将角色和用户名称前置到聊天历史记录日志中。
以下选项可用:
- 从不:不要在消息内容之前添加名称前缀。
- 群组和过去角色:仅向来自群组角色和过去角色的消息添加名称前缀。
- 始终:始终在消息内容之前添加名称前缀。
#
序列:系统提示包装
定义系统提示将如何包装。
#
系统提示前缀
插入系统提示之前。
#
系统提示后缀
插入系统提示之后。
**重要:**这仅适用于系统提示本身,不适用于整个故事字符串!如果要包装故事字符串,请将这些序列添加到上下文模板部分的故事字符串模板中。
#
序列:聊天消息包装
这些设置定义不同角色的消息在构建提示时将如何包装。
所有前缀序列也将自动用作停止字符串。
#
用户消息前缀
插入用户消息之前,并在模拟时作为最后一行提示。
#
用户消息后缀
插入用户消息之后。
#
助手消息前缀
插入助手消息之前,并在生成 AI 回复时作为最后一行提示。
#
助手消息后缀
插入助手消息之后。
#
系统消息前缀
插入系统(由斜杠命令或扩展添加)消息之前。
#
系统消息后缀
插入系统消息之后。
#
系统与用户相同
如果选中,系统消息将使用用户角色消息序列。
否则,系统消息将使用自己的序列(如果不为空)或根本不进行任何包装(如果为空)。
#
其他序列
用于更精细调整提示构建的各种高级配置
#
第一个助手前缀
插入第一个助手的消息之前。
只有聊天历史记录的第一条消息才算,而不是实际首先进入提示的消息!
#
最后一个助手前缀
插入最后一个助手的消息之前,或在生成 AI 回复时作为最后一行提示。
在后台生成文本时不使用(例如,Stable Diffusion 提示或摘要)。将使用系统指令前缀或常规助手前缀代替。
#
系统指令前缀
在后台生成中性/系统文本时插入为最后一行提示(例如,Stable Diffusion 提示或摘要)。
#
用户填充消息
如果聊天历史记录不以用户消息开头,将在开头插入。
用例:当指令格式严格要求提示首先是用户并且只有交替角色的消息时,例如:Llama 2 Chat、Mistral Instruct。
#
停止序列
表示回复结束的文本。也作为停止字符串发送到后端 API。
如果生成了停止序列,它之后的所有内容都将从输出中删除(包括序列本身)。