高级格式设置

本节提供的设置允许对 提示词构建 策略进行更多控制,主要针对文本补全 API。

本面板中的大多数设置不适用于聊天补全 API,因为它们由提示词管理器系统管理。

  • 系统提示词
  • 上下文模板
  • 分词器
  • 自定义停止字符串

后端定义的模板

一些文本补全源提供了自动选择模型作者推荐模板的功能。这通过比较模型的 tokenizer_config.json 文件中定义的聊天模板的哈希值与 SillyTavern 默认模板之一来实现。

  1. 必须在 高级格式设置 菜单中启用 派生模板 选项。这可以应用于上下文、指令或两者。
  2. 必须选择支持的后端作为文本补全源。目前只有 llama.cpp 和 KoboldCpp 支持派生模板。
  3. 在建立与 API 的连接时,模型必须正确报告其元数据。如果这不起作用,请尝试将后端更新到最新版本。
  4. 报告的聊天模板哈希值必须与 已知的 SillyTavern 模板 之一匹配。这仅涵盖默认模板,如 Llama 3、Gemma 2、Mistral V7 等。
  5. 如果哈希值匹配,且模板存在于模板列表中(即未重命名或删除),则会自动选择该模板。

系统提示词

系统提示词定义了模型需要遵循的一般指令。它为对话设置基调和上下文。例如,它告诉模型充当 AI 助手、写作伙伴或虚构角色。

系统提示词是故事字符串的一部分,通常是模型接收的提示词的第一部分。

查看提示词指南以了解更多关于系统提示词的信息。

上下文模板

通常,AI 模型需要您以某种特定方式提供角色数据。SillyTavern 包含了一系列针对不同模型的预制转换规则,但您可以根据需要自定义它们。

本节的选项在上下文模板中有详细说明。

分词器

分词器是一个将文本分解成更小单位(称为 token)的工具。这些 token 可以是单个词,甚至是词的部分,如前缀、后缀或标点符号。一个经验法则是,一个 token 通常对应 3~4 个字符的文本。

本节的选项在分词器中有详细说明。

自定义停止字符串

接受 JSON 序列化的停止字符串数组。示例:["\n", "\nUser:", "\nChar:"]。如果您不确定格式,请使用在线 JSON 验证器。如果模型输出以任何停止字符串结尾,它们将从输出中移除。

支持的 API:

  1. KoboldAI Classic(1.2.2 及更高版本)或 KoboldCpp
  2. AI Horde
  3. 文本补全 API:Text Generation WebUI (ooba)、Tabby、Aphrodite、Mancer、TogetherAI、Ollama 等
  4. NovelAI
  5. OpenAI(最多 4 个字符串)和兼容的 API
  6. OpenRouter(文本和聊天补全)
  7. Claude
  8. Google AI Studio