# 高级格式设置

本节提供的设置允许对 提示词构建 策略进行更多控制,主要针对文本补全 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