创建你的第一个角色可能看起来令人生畏,但请别担心 - 这是一个面向完全初学者的指南,将涵盖 Agnai 上角色创建过程的所有部分,以及角色卡中的每个字段。在阅读完本文后,你应该对角色创建的工作原理有一个基本的了解,并对这个过程有足够的认识,从而能够轻松地开始。

所有字段都是可选的。角色运作背后没有任何“魔法”,它只是一个发送给 AI 的 prompt,其中包含角色的所有细节,并指示 AI 在聊天中以该角色身份写下回复(将所有语言模型都视为底层类似于 ChatGPT 的助手)。因此请记住,你可以根据自己的喜好自定义角色卡,并使用你喜欢的任何字段。对于初学者,你可以只填写“name”(角色名)和“personality”(性格)字段来创建一个角色(只需在“personality”字段中以纯文本形式提供角色的简短描述,无需特殊格式),这应该也能正常工作。有关每个字段的用途以及与角色创建相关的一些有用见解的更多信息,你可以查看此页面。

字段:

基本:

Character Name(角色名): 非常直观。在整个聊天过程中用来指代该角色的主要名称。如果角色是主角(即你在创建聊天时首先选择的角色),则等同于占位符 <char>.

Description / Creator’s Notes(描述 / 创建者 notes): 此字段有两个用途。如果你打算 AI 生成角色,只需在此处输入有关他们的信息,选择你的服务,然后按“generate”(生成)。要仅生成特定字段,你可以使用相应字段旁边的“regenerate”(重新生成)按钮。否则,此字段用作简短描述,纯粹是装饰性的。它会显示在你角色列表中的名称下方,因此你和任何导入它的人都可以轻松看到它。

Tags(标签): 用于轻松排序、搜索、过滤。只需输入标签名称,然后按“enter”键添加它。

Avatar/Sprite(头像/Sprite): 允许你上传文件作为角色的个人资料图片(头像)。大小必须小于 8mb。或者,你可以使用 “sprite”,它具有内置的 2d 角色创建器。

Appearance Prompt(外观 Prompt): 如果你想使用“generate image”(生成图像)按钮为头像生成 AI 图像,请使用此字段输入数据。它仅用于此目的,而不是 AI 在聊天期间会读取的字段,你需要将其放在 “personality”(性格)中。或者,如果你的 “personality” 字段使用 Attributes 格式,你可以将一个 attribute 命名为 “looks”(外观)或 “appearance”(外貌),它将用于生成图像。

Scenario(情景): 用于描述你和角色之间(以及其他人之间,如果你使用的是群组聊天)的情况。你可以通过在 Library(库)选项卡中创建 自定义情景 并在角色卡的 “Advanced”(高级)选项卡中选择情景来覆盖或添加到该字段,这样你就可以在不修改角色卡的情况下更改对话的情景。与所有字段一样,它是可选的,如果你想不到它的用途,请不要害怕跳过它。

Greeting(问候语): 在这里,你可以设计角色可以使用的自定义第一条消息(使用“Add Alternate Greeting”(添加备用问候语)按钮添加更多)。如果你编写了多条问候语,则可以在它们之间手动切换。问候语之所以有用,是因为语言模型的工作方式 - 它们模仿它们所看到的内容。这就是为什么如果你想要特定的回复风格(例如,第三人称的长回复,对话用引号,动作用星号),问候语和 “sample conversation”(示例对话)字段会很有效 - 你是在_展示_ AI 如何回复,而不是_告诉_它。但与往常一样,没有对/错之分。你可以完全省略问候语,用指令补充它,甚至在问候语中写下你的整个角色。

使用问候语的另一个优点是它们不占用 permanent tokens(永久 tokens),因此它们不会在每次回复时都发送给 AI。相反,问候语的处理方式与任何其他消息相同,因此,如果你已达到 context limit(上下文限制),问候语将像较旧的消息一样消失(被“遗忘”)。减少 permanent token count 有助于缩短响应时间,降低按 token 付费服务的成本,并为历史记录和记忆书等其他内容节省更多上下文空间。

Persona Schema(角色性格模式): 这是你 “personality”(性格)部分的格式,你通常希望将有关角色的所有重要信息都放在此处。你可以使用 “plain text”(纯文本),它只是文本,或者 “attributes”(属性),这是一种更有条理的格式,你可以在其中使用你选择的属性名称(例如 “personality”、“appearance”……)及其描述(例如 “Sweet older lady, loves to spoil her grandchildren”(慈祥的老妇人,喜欢溺爱她的孙子孙女)、“gray hair, wrinkles, blue eyes”(灰色的头发、皱纹、蓝色的眼睛))。两者之间没有太大区别 - 在底层,“attributes” 等同于在 “plain text” 中使用 “attribute: description, attribute2: description2…” 。尽管如此,attributes 可以帮助你保持性格更井井有条和整洁,并且可能通过使用逗号分隔的 attributes 更容易缩短你的 token count。但这并不意味着减少 token count 始终是你想要的,更详细的描述可以传达更多信息,有时它可能更可取。通常最好避免冗长的描述(将其留给实际聊天或问候语/示例对话),并切入正题,确保你在此处输入的任何内容都是真正必要的。

Sample Conversation(示例对话): 与 “greeting”(问候语)非常相似,此部分是通过示例向 AI 展示如何说话。示例对话可能如下所示:

```character name: Hi!

Hello! character name: How are you today? :I’m good, thanks!```

你也可以使用 <char> 而不是角色的实际名称,但通常不建议使用它,因为它始终指的是聊天的主角,因此如果在辅助角色的卡片中使用它,则会出错。 <user> 是一个占位符,在聊天中会自动替换为你的名字。示例对话与问候语一样,采用了与性格和 “Advanced”(高级)字段不同的方法,并且目的是模仿。正确使用它可能很棘手,因为它们会影响很多方面,例如,回复长度,而且它们通常也很长。但是,它确实与语言模型配合良好,因为它向模型展示了你希望它如何回复。但是,再说一次,它是可选的。如果你没有希望 AI 遵循的特定风格,或者如果你不想付出努力,则可以省略该部分。你也可以只给出角色的回复,而不是你自己的回复。

高级:

你应该通常不要在你刚开始使用时修改 “Advanced”(高级)设置。但是,一旦你掌握了窍门,其中一些设置会非常有用。

System Prompt(系统 Prompt): 它就像一条初始消息,被读取为来自系统,因此它充当聊天的指令设置器。默认情况下,Agnai 会向 AI 发送一条简短的设置消息,以便它注册它应该执行的任务是在角色扮演聊天中为角色回复(如果你希望获得不同的行为,可以在 prompt template(提示模板)中修改它)。System prompt 遵循相同的原则。将其视为聊天的说明手册,用于告诉 AI 要遵循的内容。不要与 prompt template 混淆。

Post-conversation History Instructions (jailbreak/UJB)(对话后历史记录指令 (越狱/UJB)): 大型语言模型最关注对话的结尾,这就是它们的工作方式。如果你想要特别强的指令,让 AI 在每次回复中都遵守,你可以使用 jailbreak(越狱)。这是一种使模型更听话的有效方法,因为它将被插入到发送给 AI 的 prompt 的底部。它之所以被命名为 “jailbreak”,是因为它最初用于绕过专有模型的审查,但你也可以在未审查的模型上使用它,因为它通常用于指示模型以某种方式行事。

Insert/Depth Prompt (Author’s Note)(插入/深度 Prompt (作者注)): 与 jailbreak 类似,但它在结尾前 x 条消息处插入,你可以使用 “Insert Depth”(插入深度)滑块设置 x。如果你想通过将消息插入到 prompt 的最底部稍远的位置来削弱 jailbreak,这将非常有用。如果你想在 prompt 中以不同的深度插入消息,你可以将它们包装在 prompt template 中的 insert 标签中,例如: <insert x>message</insert>,其中 x 是你选择的数字。

Character Book(角色书): 你可以在此处为角色添加 memory book(记忆书),它仅在该角色回复时激活。要为整个聊天添加 memory book,你需要进入聊天中的聊天设置。

Creator(创建者): 角色创建者姓名的字段。纯粹是装饰性的。

Character Version(角色版本): 用于跟踪角色版本的字段。纯粹是装饰性的。

Voice(声音): 你可以在此处设置你使用的语音服务(在 Settings(设置)中的 “Voice Settings”(语音设置)页面中配置,支持的选项:ElevenLabs, NovelAI, Web Speech Synthesis)。

图像

在这里,你可以专门为该角色设置图像设置。如果你想要全局图像设置,则应转到 Settings(设置)-> Images(图像)。你可以在此处找到设置两者的常规说明,因为它们的工作方式类似。

首先,选择一项服务。如果你有 10 美元的 Agnai 订阅,则可以使用 Agnaistic 图像生成,它使用 DreamshaperXL Lightning 模型。如果你使用该模型,请使用推荐的设置(5 步,2 CFG,1024x1024 图像尺寸)。如果你有订阅,也可以使用 NovelAI。如果你使用的是免费层级,则可以使用 Horde(速度较慢且不太可靠,但免费)和 Stable Diffusion(需要在你自己的机器上使用适当的硬件在后台运行它,并将其连接到 Agnai。在 Automatic1111 上,你可以使用 –api –share 参数生成链接,并将其粘贴到 Agnai)。

现在让我们继续介绍你可以配置的具体参数。

Sampling Steps(采样步数): 生成图像的步数。粗略地说,越多越好,但这取决于 sampler(采样器)。例如,如果你使用 DPM++ 2M Karras 采样器,则实际上不需要超过 25 步。对于像 Euler a 这样的采样器,它会带来更多好处。如果不确定,请保持原样。

Image Width/Height(图像宽度/高度): 取决于你使用的是基于 SD 1.5 还是 SDXL 的模型。对于前者,始终将宽度/高度之一保持为 512,对于后者,则为 1024。默认情况下,如果不确定,请使用 512x512 或 1024x1024,具体取决于模型类型,如果你想要不同的宽高比,请调整其中一个维度。Agnaistic 图像生成是基于 SDXL 的,不能超过 1024x1024。

CFG Scale(CFG 比例): (对于 Agnaistic 图像生成,请使用 2)它表示图像与 prompt 的匹配程度。作为非 Agnaistic 的默认值,你可以使用大约 7。较低的值可能会产生更高质量的结果,但与 prompt 的贴合度会降低,而较高的值则会相反。

Prompt Prefix/Suffix(Prompt 前缀/后缀): 用于在发送给 AI 的 prompt 的开头/结尾添加内容。通常,对于前缀,你想要质量标签(best quality, masterpiece…),对于后缀,你想要特定的风格标签(anime, realistic, full body)。

Negative Prompt(负面 Prompt): 用于描述你不希望在图像中出现的内容。例如 bad quality, blurry, signature

Summary Prompt(摘要 Prompt): 发送给语言模型的 Prompt,用于为你的图像创建摘要。如果你使用摘要 Prompt(你可以使用下面的切换按钮将其关闭),我建议使用输出标签的摘要 Prompt,因为 Stable Diffusion 在处理标签时效果更好,它会查找关键词,而不一定能很好地理解完整的句子。