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