#
指令模式
指令模式允许您调整针对各种提示格式(如Alpaca、ChatML、Llama2等)训练的指令跟随模型的提示。
#
API 支持
#
文本补全 API
完全支持。这包括:
- 文本补全下的所有来源
- KoboldAI Classic
- AI Horde
#
选择格式
所选的指令模板必须符合实际在后端运行的模型的预期。
这通常在 HuggingFace 上的模型卡中反映出来,有些甚至提供与 SillyTavern 兼容的 JSON 文件。
示例:NeverSleep/Noromaid-13b-v0.1.1
#
聊天完成 API (OpenAI, Claude 等)
这对于聊天完成 API (并且不需要) 是不支持的。它们使用完全不同的提示构建器。
例外:启用指令覆盖的 OpenRouter。这是一个遗留设置,最终会被移除。
#
NovelAI
虽然技术上支持NovelAI,但他们的模型并没有经过训练以理解指令格式。Kayra使用一个特殊的指令模块,当在聊天消息中遇到用大括号包裹的指令时,该模块会自动激活,因此在整个提示中使用指令模式会导致输出的质量下降。
以下是一个自动激活NovelAI指令模块的示例:
User: { Write a happy song about Nintendo Switch. }
#
指令模式设置
#
预设
提供一些知名指令模型的现成预设,包括提示和序列。
更改预设会将您的系统提示重置为默认值!如果您进行了不想丢失的更改,请不要忘记保存您的预设。
#
默认预设(心形图标)
如果切换,连接到API时将自动选择此预设,前提是没有其他预设被正则表达式匹配触发。
指令模式需要事先启用。只能将一个预设标记为默认。
#
激活正则表达式
如果定义为有效的正则表达式,当连接到模型并且其名称与该正则表达式匹配时,将自动选择该预设。
在此之前需要启用指令模式。只有在预设中第一个正则表达式匹配项会被选择(按字母顺序评估)。
#
用换行符包裹序列
每个序列文本在插入提示时将用换行符包裹。对于Alpaca及其衍生产品是必需的。
如果希望完全控制行终止符,请禁用此选项。
#
在序列中替换宏
如果启用,已知的 {{macro}} 替换将在消息包装序列中定义时被替换。
此外,可以在消息前缀中使用特殊的 {{name}} 宏来引用附加到消息的实际名称(而不是当前活动的 {{char}} 或 {{user}}),这在使用群聊或 /sendas 命令时非常有用。如果无法确定名称,将使用“系统”作为后备占位符。
#
包含名称
如果启用,在插入序列后将角色和用户名添加到聊天历史记录日志中。
对于群聊和使用角色发送的消息自动启用,除非强制适用于群组和角色设置未勾选!
#
系统提示
通常添加到每个提示的开头。应定义模型要遵循的指令。支持通过任何支持的 {{宏}} 参数进行替换。
例如:
为 {{char}} 写一条互联网角色扮演风格的回复。要详细且富有创意。
#
序列:系统提示包装
定义系统提示的包装方式。
#
系统提示前缀
插入在系统提示之前。
#
系统提示后缀
插入在系统提示之后。
重要: 这仅适用于系统提示本身,而不是整个故事字符串!如果您想要包装故事字符串,请在上下文模板部分将这些序列添加到故事字符串模板中。
#
序列:聊天消息包装
这些设置定义了不同角色的消息在构建提示时如何被包装。
所有前缀序列也将自动用作停止字符串。
#
用户消息前缀
在用户消息之前插入,并作为模拟时的最后一行提示。
#
用户消息后缀
在用户消息之后插入。
#
助手消息前缀
在助手消息之前插入,并作为生成AI回复时的最后一行提示。
#
助手消息后缀
在助手消息之后插入。
#
系统消息前缀
在系统(由斜杠命令或扩展添加)消息之前插入。
#
系统消息后缀
在系统消息之后插入。
#
系统与用户相同
如果选中,系统消息将使用用户角色消息序列。
否则,系统消息将使用它们自己的序列(如果不为空),或者根本不进行任何包装(如果为空)。
#
Misc. Sequences
各种高级配置,用于更精细地调整提示构建
#
First Assistant Prefix
插入在第一个助手消息之前。
只有聊天记录的第一条消息算数,而不是实际进入提示的第一条消息!
#
Last Assistant Prefix
插入在最后一个助手消息之前,或作为生成AI回复时的最后提示行。
在生成后台文本时不使用(例如,Stable Diffusion提示或摘要)。将使用系统指令前缀或常规助手前缀。
#
System Instruction Prefix
在生成中性/系统文本的后台时,作为最后提示行插入(例如,Stable Diffusion提示或摘要)。
#
User Filler Message
如果聊天记录不以用户消息开始,将在聊天记录开始时插入。
用例: 当指令格式严格要求提示以用户为先,并且只有交替角色的消息时,例如:Llama 2 Chat,Mistral Instruct。
#
Stop Sequence
表示回复结束的文本。也作为停止字符串发送到后台API。
如果生成了停止序列,输出中将删除它之后的所有内容(包括该序列本身)。