高级格式化
本节提供的设置允许你对提示词构建策略进行更精细的控制,主要适用于文本补全 API。
本面板中的大多数设置不适用于聊天补全 API,因为它们由提示词管理器系统管理。
系统提示词 上下文模板 分词器 自定义停止字符串
重置模板
你可以将默认模板恢复到初始状态。这可以通过用户界面完成,也可以手动删除相关的数据文件。
通过界面重置
- 打开 高级格式化 菜单。
- 选择你要重置的模板。
- 点击 恢复当前模板 按钮。
- 在弹出提示时确认操作。
手动重置
请确保 config.yaml 中的 skipContentCheck 设置为 false,否则不会触发内容检查。
- 导航到你的用户数据目录(详见数据路径)。
- 从用户数据目录的根目录下删除
content.log文件。该文件记录了为你的用户复制的默认文件。 - 从相关子目录(
context、instruct、sysprompt等)中删除模板 JSON 文件。 - 重启 SillyTavern 服务器。应用程序会重新填充默认内容,恢复所有被删除的默认模板。
后端定义的模板
适用于:文本补全 API
不适用于聊天补全 API,因为它们使用不同的提示词构建器。
部分文本补全来源支持自动选择由模型作者推荐的模板。其工作原理是将模型 tokenizer_config.json 文件中定义的聊天模板的哈希值与 SillyTavern 默认模板之一进行比对。
- 必须在 高级格式化 菜单中启用 派生模板 选项。这可以应用于上下文、指令或两者。
- 必须选择一个受支持的后端作为文本补全来源。目前只有 llama.cpp 和 KoboldCpp 支持派生模板。
- 在建立与 API 的连接时,模型必须正确报告其元数据。如果未能生效,请尝试将后端更新到最新版本。
- 报告的聊天模板哈希必须与某个已知 SillyTavern 模板匹配。这仅涵盖默认模板,如 Llama 3、Gemma 2、Mistral V7 等。
- 如果哈希匹配,且模板列表中存在对应模板(即未被重命名或删除),则会自动选中该模板。
系统提示词
适用于:文本补全 API
聊天补全 API 中的等效设置请使用 提示词管理器。其中的 主提示词 即对应聊天补全 API 中的系统提示词。
系统提示词用于定义模型应遵循的通用指令,为对话奠定基调与上下文。例如,它可以指示模型扮演 AI 助手、写作搭档或某个虚构角色。
系统提示词是故事字符串的一部分,通常也是模型接收到的提示词的第一部分。
参见提示词指南以了解更多关于系统提示词的内容。
上下文模板
适用于:文本补全 API
聊天补全 API 中的等效设置请使用 提示词管理器。
通常,AI 模型要求你以某种特定方式向其提供角色数据。SillyTavern 内置了一系列针对不同模型的预设转换规则,但你也可以按自己的喜好进行自定义。
本节的选项详见上下文模板。
分词器
分词器是一种将文本拆分为更小单元(称为 token)的工具。这些 token 可以是单个词,甚至可以是词的一部分,例如前缀、后缀或标点符号。一个经验法则是:一个 token 通常对应 3~4 个文本字符。
本节的选项详见分词器。
自定义停止字符串
接受一个 JSON 序列化的停止字符串数组。示例:["\n", "\nUser:", "\nChar:"]。如果你不确定格式是否正确,可以使用 在线 JSON 验证器。如果模型输出以某个停止字符串结尾,该字符串将从输出中移除。
支持的 API:
- KoboldAI Classic(1.2.2 及以上版本)或 KoboldCpp
- AI Horde
- 文本补全 API:Text Generation WebUI(ooba)、Tabby、Aphrodite、Mancer、TogetherAI、Ollama 等
- NovelAI
- OpenAI(最多 4 个字符串)及兼容 API
- OpenRouter(文本补全和聊天补全均支持)
- Claude
- Google AI Studio
- MistralAI
回复起始内容
注意
默认情况下,回复起始内容前缀不会显示在最终消息中。启用“在聊天中显示回复前缀”即可显示它。
文本补全 API
预填提示词的最后一行,强制模型从该点继续生成。这在强制特定内容时很有用,例如通过定义的前缀引导模型进入 模型推理:
<think>
Sure!
聊天补全 API
在提示词末尾添加一条助手角色消息。对于某些后端模型,这等同于预填充模型回复;但有些模型可能完全不支持此功能,并会因校验错误而失败。如果你不确定,请将此字段留空。