# 高级格式化

本节提供的设置允许对提示构建策略进行更多控制,主要用于文本完成 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 包含不同模型的预制转换规则列表,但您可以根据需要自定义它们。

本节的选项在上下文模板中进行了解释。

# 分词器

分词器是一种将文本分解为称为令牌的较小单元的工具。这些令牌可以是单个单词,甚至是单词的一部分,如前缀、后缀或标点符号。经验法则是,一个令牌通常对应于 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
  9. MistralAI

# 开始回复使用

# 文本完成 API

预填充提示的最后一行,强制模型从该点继续。这对于强制内容很有用,例如使用定义的前缀推动模型推理

当然!

# 聊天完成 API

在提示的末尾添加助手角色消息。对于某些后端模型,这相当于预填充模型响应,但有些可能根本不支持,并且会因验证错误而失败。如果您不确定,请将此字段留空。