#
CFG
页面作者:kingbri
贡献者:kingbri, Guillaume "Vermeille" Sanchez, AliCat
#
它是什么?
CFG,即无分类器引导,是一种用于帮助使提示的某些部分更突出或更不突出的方法。
#
支持的后端 API
目前,支持的后端有 oobabooga 的 textgen WebUI、NovelAI 和 TabbyAPI。 NovelAI 有自己的CFG 文档。
警告:CFG 会增加 VRAM 使用量,因为它需要处理多个提示!如果在启用 CFG 的情况下生成提示时 GPU 内存耗尽,请考虑减少上下文大小、使用参数较少的模型或完全关闭 CFG。
#
配置
访问 CFG 设置与访问作者笔记相同:
CFG 面板看起来像这样:
CFG 面板中有四个下拉菜单:
- 聊天 CFG
- 将 CFG 比例和提示范围限定在此聊天中
- 角色 CFG
- 将 CFG 比例和提示范围限定到指定角色
- 全局 CFG
- 全局覆盖 CFG 比例和提示(也覆盖模型预设!)
- CFG 高级设置(以前称为 CFG 提示级联)
- 一个组合前三个下拉菜单的提示并设置插入深度的位置。
注意:如果引导比例设置为 1,则不会发送任何内容,因为那是 CFG 处于"关闭"状态的时候。
#
群组聊天
在群组聊天中,CFG 比例面板看起来像这样:
主要变化是角色 CFG 被移除,聊天 CFG 下拉菜单中出现了一个名为"使用角色 CFG 比例"的复选框。这允许使用当前角色的引导比例而不是聊天 CFG 比例设置的内容。
此功能的主要实用性是根据每个角色的个人需求调整比例。
此外,在提示级联中选中"角色否定"框将把独立的角色否定提示与聊天提示一起附加(如果启用)。
#
概念
#
这不是在 Stable Diffusion 中吗?
是的,也不是。LLM 的 CFG 与人们在 Stable Diffusion 中可能习惯的工作方式不同。基于 LLM 的 CFG 基于"提示混合"的原理。CFG 公式接受正面和负面提示,然后混合它们之间的差异。从那里,发送组合提示并生成响应!
这是一个帮助可视化此概念的图示。红色代表负面提示,蓝色代表中性提示,紫色代表被解释的混合结果。所有白色空间在所有 3 个提示中都是相同的,因此这些不用于 CFG 混合。
如果您想了解更多关于 CFG 和 LLM 的信息,Vermifuge 的原始论文位于这里。我建议您阅读/收听一下:
#
我需要 CFG 提示吗?
不需要!CFG 提示是完全可选的。只需将引导比例调整到 1 以上也会对响应产生效果,这可以增强聊天和角色互动。
#
什么是一个好的 CFG 提示?
所以,我们确定 CFG 提示与 Stable Diffusion 的负面标签和嵌入不同。我们如何制作提示?
警告:这假设您已经使用 PLists 和 Ali:Chat 创建了一个角色。如果您还没有,请随意尝试各种提示技术。
假设我有一个名为"John"的角色。根据他的示例对话,John 应该一直感到快乐和兴奋。然而,在与 John 聊天时,他有时会感到悲伤和沮丧。
为了消除这种情况,CFG 来救援!只需制作负面提示 [John's feelings: sad, depressed] 来帮助消除悲伤部分。您可以选择制作正面提示 [John's feelings: happy, joyful] 来进一步突出 John 的快乐部分。
#
正面提示
我在上一节中已经提到了这一点,但我想再详细说明一下。正面提示用于进一步增强角色的某些部分。让我们再次使用 John 作为示例。通过使用 [John's feelings: happy, joyful] 的正面提示使他更快乐,John 应该开始输出比不包括正面提示时更快乐的对话。
#
但是...
这些只是基于一种特定角色格式经验的松散指南。还有许多其他创建提示的方法,您应该尝试。请随时与其他用户分享您的想法!
#
引导比例
这是一个经验法则。引导比例为 1 意味着 CFG 被禁用。事实上,如果引导比例为 1,SillyTavern 不会向后端发送任何内容。引导比例 >1 将以不同程度的程度给出其他部分显示的结果。
然而,引导比例 <1 将产生相反的效果,因为这里负面提示被用作主要提示。
让我们再次使用 John 的示例。负面提示是 [John's feelings: sad, depressed],正面提示是 [John's feelings: happy, joyful],引导比例为 0.8。
这将反过来更多地强调负面提示,您会看到 John 开始表现得比正常更悲伤,而不是更快乐。
简单来说;使用 1.5 的引导比例,然后根据您的输出结果向上或向下调整。
#
提示级联
否定和正面可以在 CFG 类型之间级联(类型为每次聊天、每个角色和全局覆盖)。有关更多信息,请参阅配置标题。
#
插入深度
遵循基本规则:提示中的位置越低,对响应的影响越大。对于聊天,我建议使用默认深度 1,因为它对 SillyTavern 的其他组件非常灵活。
但是,如果您想尝试,可以使用插入深度 0。但是,这些可能会显著改变您的响应外观,不建议在此处使用提示级联!