# 常见问题

# 解释一下 SillyTavern 是什么

现代 AI 语言模型如 ChatGPT 已经变得如此强大,其中一些现在能够令人信服地模拟您创建的角色,您可以与他们聊天、一起写小说等。例如,您可以告诉 AI 假装成为中世纪日本一位名叫 Jubei 的围棋老师,它会相应地行动和回应。您可以与 Jubei 进行长谈,一起去酒吧,决定与武士打架,任何您可以想象的事情,AI 都会配合并围绕这些内容编写/反应,充当您的对手和地下城主。您的想象力是极限。您可以告诉 AI 假装它是神奇女侠。您还可以指定场景("神奇女侠和我正在抢劫银行")、写作风格("神奇女侠说黑人英语"),或任何您能想到的其他内容。

SillyTavern 是一个促进这些用途的应用程序:

  • 它是一个处理与 AI 语言模型通信的用户界面。
  • 它让您可以创建新的角色卡(提示词),并轻松在它们之间切换。
  • 它让您可以导入其他人创建的角色。
  • 它会保存您与角色的聊天历史记录,允许您随时恢复、开始新聊天、查看旧聊天等。
  • 在后台,它会为您执行必要的操作来准备 AI 提示词。具体来说,它将发送一个系统提示词(AI 的指令),使 AI 遵循特定规则以提高响应准确性。

# 给我概述一下我的 AI 模型选项

SillyTavern 可以与两种类型的 AI 交互:

  1. 网络服务(基于云、通常付费、专有、封闭)
  2. 自托管(本地、免费、开源)

# 付费网络服务 AI

付费网络模型是黑盒子。您向公司付费使用他们的 AI 服务。您将账户信息放入 SillyTavern,它会连接到您的提供商为您使用 AI。

优点:

  • 非常容易上手。
  • 最高质量的 AI 写作。

缺点:

  • 使用需要付费。
  • 一切都记录在他们的服务器上。隐私问题。
  • 它们经常被审查,会拒绝与您谈论某些主题。

# 自托管 AI

自托管模型是您可以在 PC 上运行的免费模型,但需要强大的 PC 和更多的工作来设置。

优点:

  • 一旦设置完成,即使没有互联网访问也可以免费使用。
  • 完全隐私。您写的一切都留在您自己的 PC 上。
  • 有各种各样的模型。作为社区驱动技术,您可以找到适合您想要的特定任务或行为的模型。

缺点:

  • 它们不如SOTA模型强大(即,它们写对话较差,创造力较差等)。
  • 运行本地模型需要至少 6GB VRAM 的 GPU。

如果您有兴趣使用这些,请参考此处的专用指南:如何使用自托管模型

# 我可以在手机或平板电脑上使用 SillyTavern 吗?

iPhone 和 iPad 无法运行整个 SillyTavern 应用程序,但由于它只是一个网络界面,您可以在家庭 Wi-Fi 上的另一台计算机上运行它,然后在移动浏览器中访问它。更多信息请参考远程连接

对于 Android 用户,除了上述内容外,您还可以使用 Termux 应用程序直接在手机上运行整个 SillyTavern,而无需 PC。请参考安装(Android)。(注意:Termux 安装不受官方支持,我们无法保证它会工作。)

# 我尝试导入 PNG 角色卡但收到错误说它无效。为什么?

两种可能性:

  1. 卡片内部没有嵌入定义,只是一个普通的图像文件。某些程序或文件管理器在保存时会从卡片中剥离嵌入的定义。确保您使用的是发布者发布的原始 PNG 文件。
  2. PNG 文件实际上是带有 .png 文件名的 WEBP 文件。您可以尝试在导入前将卡片重命名为 .webp,或寻找图像的正确 PNG 版本。

# 如何制作我自己的 AI 角色?

  1. 点击角色管理按钮
  2. 点击创建新角色
  3. 在角色名称下,给出一个名称,如 Amanda
  4. 可选地,点击选择头像按钮为此角色选择图像肖像
  5. 在描述下,描述角色,并包含您认为与聊天相关的任何信息。例如:Amanda 是一个在间隔年旅行的学生。她身高 6 英尺,是一名排球运动员。她有运动员的身材。她有长长的棕色头发。她热爱维多利亚时代的英格兰时期,喜欢看那个时期的电视节目和读小说。 例如,如果您希望 Amanda 友好,那么您可以添加:Amanda 非常开朗和外向。
  6. 在首条消息下,写下角色在您开始新聊天时的问候语。例如:*Amanda 向您挥手* 嘿!你也是背包客吗?
  7. 点击创建角色按钮

现在您有一个可以聊天的基本角色。从角色列表中选择 Amanda,将开始一个新的聊天。

请注意,您可以使用描述和/或首条消息来创建更具体的场景,和/或在描述中包含自己。例如:

描述:
Amanda 是一个在间隔年旅行的学生。她身高 6 英尺,是一名排球运动员。她有运动员的身材。她有长长的棕色头发。她热爱维多利亚时代的英格兰时期,喜欢看那个时期的电视节目和读小说。她一直保守着一个沉重的秘密。她在等待合适的人倾诉,但这可能导致与强大秘密社会的猫鼠游戏。她最近抵达加尔各答。

您是 Rajesh Nahasmapetilon,世界著名的印度排球超级巨星。您正在加尔各答散步。Amanda 看到您并兴奋地尖叫。

首条消息:
*Amanda 跑到您面前,笑容满面。* Rajesh!我简直不敢相信!我是你的超级粉丝。我卧室里有你的海报。

您包含的任何相关信息都可以使用。使用效果如何取决于 AI 模型的能力水平。

注意:角色创建后,您可以返回并编辑除名称外的任何信息。

# 我的 API 密钥存储在哪里?为什么我看不到它们?

SillyTavern 将您的 API 密钥保存到用户数据目录中的 secrets.json 文件中(默认路径是 /data/default-user/secrets.json)。

默认情况下,保存密钥并刷新页面后,API 密钥将不会在界面中可见。

要启用查看密钥:

  1. config.yaml 文件中将 allowKeysExposure 的值设置为 true
  2. 重启 SillyTavern 服务器。
  3. 点击 API 连接面板右下角的"查看隐藏的 API 密钥"链接。

# 性能提示

# 为什么 UI 这么慢/卡顿?

  • 尝试在用户设置面板上启用无模糊效果(快速 UI)模式。
  • 在 UI 主题设置中启用减少运动以移除装饰性动画。
  • 确保您的浏览器正在使用硬件加速。
  • 如果使用响应流式传输,将流式传输 FPS 设置为较低的值(建议 10-15 FPS)。

# 我遇到输入延迟。我该怎么办?

性能下降,特别是输入延迟,最常见的原因是浏览器扩展。已知有问题的扩展包括:

  • iCloud 密码管理器
  • DeepL 翻译
  • 基于 AI 的语法更正工具
  • 各种广告拦截扩展

如果您遇到性能问题且无法确定原因,或怀疑 SillyTavern 本身存在问题,请:

  1. 记录性能分析
  2. 将分析导出为 JSON 文件
  3. 将其提交给开发团队进行分析

我们建议首先禁用所有浏览器扩展和第三方 SillyTavern 扩展进行测试,以隔离性能下降的来源。

# 当我导入大量角色时,应用程序变慢。为什么?

不幸的是,SillyTavern 并不是为处理大量角色库而设计的。您拥有的角色越多,加载角色列表所需时间越长。证据数据表明,当您拥有超过 1000 个角色时,性能下降开始变得明显。

但是,您可以做一些事情来缓解这个问题:

1. 使用延迟加载。

config.yaml 文件中将 performance.lazyLoadCharacters 的值设置为 true 来启用角色延迟加载。在下次服务器重启后,角色列表将只加载您交互的角色的完整数据。请注意,如果某些第三方扩展没有更新以支持此功能,它们可能无法在此设置启用时正常工作(联系扩展开发者获取更多信息)。

2. 使用内存缓存。

如果您有一些备用 RAM,增加内存缓存容量。这将允许服务器在内存中保留更多角色,减少加载它们所需的时间。您可以通过在 config.yaml 文件中将 performance.memoryCacheCapacity 的值调整为更大的数字来实现。默认值是 100mb。大约的经验法则:每增加 3000 个角色,将值增加 100mb。

限制:

  1. 高级(模糊)角色搜索在启用延迟加载时无法工作。只搜索角色名称。
  2. 由于可用内存量有限,内存缓存在 Android 设备上被禁用。

# 如何让 AI 写得更多?

有时 AI 只会用一句话回应,而您希望它更加详细。 这通常是本地运行模型的问题。

如果您只是希望机器人从其最近回复的结尾继续写,您可以通过在输入栏中不输入任何内容并点击发送来发送空用户消息。这将强制机器人继续故事。

解决此问题的策略:

  • 增加响应长度设置的值
  • 为角色设计一个好的首条消息,展示他们说话啰嗦的方式。当给定期望的写作风格指导时,AI 模型可以改进很多。
  • 在角色的描述框中添加诸如"喜欢多说话"或"非常啰嗦的说话者"之类的短语
  • 对您的作者注释历史后指令提示词做同样的事情
  • 作为最后的手段,您可以尝试打开自动继续(在用户设置面板中),但这会使响应变慢,因为它让 AI 背靠背地产生小回复,然后将它们全部组合成一个大回复。它也可能与某些 API 选项不兼容。

# 如何让 AI 写得更少?

这主要只是 ChatGPT 或 Claude 等模型的问题。可以应用相同的策略,但方式相反。

  • 减少响应长度设置的值
  • 在角色的描述中给角色添加诸如"说话简短"或"不太说话"之类的短语
  • 给角色一个简短的首条消息,为聊天设定基调和期望。
  • 确保自动继续已关闭。

# 如何让 AI 停止写我角色的动作,并自己驱动情节?

这应该在作者注释中处理,结合使用以下短语:

  • {{char}}的响应应该只是被动地对{{user}}的动作做出反应。
  • 您的下一个响应应该只从{{char}}的角度出发。
  • 您永远不允许为{{user}}指定动作或言语