中文 ▾

Qwen Abliterated 角色扮演:设置与 API 配置

带有对话气泡和面具的舞台,展示文本模型的角色扮演

已更新

角色扮演中,拒绝行为最让人头疼,因为一条突兀的警告就会破坏场景。这里提供一个用于小说和伴侣聊天的有效设置,使用无审查接口,包括采样值和成本。

要点

  • 在 SillyTavern 中,添加一个自定义的兼容 OpenAI 的数据源,输入站点的 /v1 URL 和模型 uncensored。
  • 从温度 0.8 和 top_p 0.9 开始,然后每次只更改一个值。
  • 长场景每轮都会重发历史记录,因此请裁剪上下文以控制成本。
  • 该模型仅支持文本;仅限合法的成人用途,且不涉及未成年人。

为什么角色扮演用户寻找无审查模型

寻找qwen abliterated roleplay的用户希望模型保持角色设定。标准聊天模型经过调整,会跳出场景、添加免责声明,或拒绝小说中常见的主题:战争、悲伤、反派、恐怖、道德灰色叙述者。Abliterated 和其他无审查构建的存在,是因为这些中断会破坏沉浸感。

本文介绍通过 API 而非本地文件运行此类会话。托管模型来自独立提供商的开放权重模型之一,经过调整,可在合法成人使用中无内容拒绝地回答。它不是官方 Qwen API,我们也未声称它是特定的 abliterated Qwen 检查点。将其视为独立模型,并根据你自己的角色设定进行评估。

有一条边界条件无例外适用:禁止任何涉及未成年人的性内容。角色必须是成年人。本页其余部分专注于技术方面,无论你的写作类型如何,这一点都是相同的。

连接 SillyTavern

SillyTavern 可以连接任何 OpenAI 兼容的接口。菜单名称在不同版本中可能有所不同,但路径始终遵循相同的思路:打开 API 连接面板,选择 Chat Completion 源,然后选择自定义或 OpenAI 兼容选项。

  1. 在 API 密钥页面 创建密钥。新账户可以一键领取 $0.50 的试用额度,有效期 7 天,无需信用卡。
  2. 在 SillyTavern 中,选择 Chat Completion 和自定义源。
  3. 将接口 URL 设置为 https://api.qwenabliterated.top/v1。
  4. 将密钥粘贴到 API 密钥字段中。
  5. 将 uncensored 输入为模型 ID,或者如果点击连接按钮后获取到模型列表,则从中选择。
  6. 点击连接并发送一条简短的测试消息。

如果测试失败并显示 401,请重新检查密钥。如果失败并显示 404,请确保 URL 以 /v1 结尾,且后面没有多余的路径。文档页面 列出了接口。

使用你自己的脚本

如果你编写自己的前端或机器人,相同的设置将进入 SDK。保持历史记录的最小循环:

from openai import OpenAI

client = OpenAI(base_url="https://api.qwenabliterated.top/v1", api_key="YOUR_API_KEY")

history = [{"role": "system", "content": open("character.txt").read()}]

while True:
    user = input("> ")
    history.append({"role": "user", "content": user})
    out = client.chat.completions.create(
        model="uncensored",
        messages=history,
        temperature=0.85,
        top_p=0.9,
        frequency_penalty=0.3,
        max_tokens=500,
    )
    text = out.choices[0].message.content
    history.append({"role": "assistant", "content": text})
    print(text)

维持角色的系统提示词

系统消息承担大部分工作。保持简短、具体,并写成关于行为指令的形式,而不是传记。一个经久不衰的模式:

You are Mara Voss, a ship's navigator in a space-opera story.
Write in third person, past tense, 120 to 250 words per reply.
Stay in character. Do not summarise the scene or add out-of-story notes.
Never speak or act for the user's character; end each reply on an open beat.
All characters are adults.
Setting: the freighter Kestrel, three weeks out from port, supplies running low.

关于每行内容的说明。长度目标可防止回复膨胀。人们最常做的修正是禁止代替用户角色发言。最后一行用于修复设置,防止模型在几轮之后凭空捏造出不同的设定。角色的重要事实(如伤疤、债务或习惯)应包含在提示词的几行中,而不是长篇的背景故事。

如果模型在长聊天中偏离角色,请在历史记录末尾附近重复关键规则,作为简短的提醒消息,而不是加长开场提示词。

初始采样值

API 会透传 temperature、top_p、stop、seed 和 penalties。这些是你可调的参数;本地工具中存在的其他采样器可能不可用,因此不要依赖它们。

参数起始值它改变了什么
temperature0.8 到 1.0更高值带来更多变化的措辞;高于约 1.1 时会出现不连贯。
top_p0.9修剪词选概率较低的尾部。
frequency_penalty0.2 到 0.5不鼓励重复相同的词语和短语。
presence_penalty0 到 0.3促使模型转向新话题。
max_tokens300 到 600限制回复长度;可选。
stop你的角色名称加上冒号防止模型写你的下一行。

每次只更改一个值,并进行几轮测试后再做判断。如果你想公平比较两种设置,请将 seed 设置为固定数字,以便相同的提示词给出相同的起点。

开场白和场景钩子

聊天中的第一条消息比任何指令更能设定基调。如果它只是两行对话且没有描述,回复将会很短。如果它是你希望的风格的全段落场景设置,模型将复制该长度和语气。将开场白写成你希望读到的内容的示例。

给场景一个压力点。一个生命支持系统故障的被困船员比坐在酒吧里的船员产生更有趣的回合,因为模型总有可以推动的点。当场景停滞时,从你这边添加一个事件:收到消息、门打开、被迫做出决定。大多数平淡的角色扮演缺乏的是风险,而不是模型问题。

对于多个角色,在系统提示词中用一行描述每个角色的说话风格,例如“医生 Imre:干涩、精确、从不骂人”。独特的说话习惯使模型更容易在长历史中区分角色口吻,也更容易让你发现两个角色何时混淆在一起。

管理 100k 上下文

上下文窗口为 100,000 token,包含提示词和补全内容,因此场景可以运行很长时间而无需截断。不过,长并不自动意味着更好。聊天模型对隐藏在巨大历史中间的细节关注较少,且每一轮都会重新发送整个对话记录,你需要为此支付输入费用。

实用习惯:

  • 将前端中的上下文大小设置为 16,000 到 32,000 token 左右,让较旧的回合掉出。
  • 不时要求模型对事件和角色状态进行简短总结,然后将其粘贴到系统提示词中并清除旧回合。
  • 在系统消息中保留一个 "必须保持真实的事实" 列表,用于姓名、地点和承诺。
  • 使用停止序列和长度上限,以防止回复体积逐渐膨胀。

还要记住这是一个文本模型。它不生成图片或语音,因此伴侣应用中的头像和音频需要其他工具。

会话成本

定价为每 1M 输入 token $0.15,每 1M 输出 token $0.50。考虑一个长场景,历史记录已达到 30,000 token,每次回复约 400 token。一轮成本为 30,000 x $0.15 / 1M = $0.0045 用于输入,400 x $0.50 / 1M = $0.0002 用于输出,总计 $0.0047。一百轮这样的成本为 $0.47。

具有 12,000 token 上下文窗口的同一会话成本为 12,000 x $0.15 / 1M = $0.0018 加上 $0.0002,即每轮 $0.002,一百轮为 $0.20。修剪上下文窗口是最容易实现的节省方式。

无需订阅。你可以预付从 $20 到 $500 的任意金额,$50 以上额外 +5%,$100 以上额外 +10%,$200 以上额外 +15%,且额度永不失效。支持加密货币(TRC20 上的 USDT、Base 上的 USDC)支付。失败或被拒绝的请求不会收费。详细信息见 定价页面。

常见问题

  • 回复趋于重复。 稍微提高 frequency_penalty,修剪旧轮次,或降低上下文大小。
  • 模型写你的台词。 将规则添加到系统提示词,并在你的角色名称上设置停止序列。
  • 场景中遇到 HTTP 429。 你触发了限制:完整密钥下为 8 个并发请求和每分钟 300 次,试用密钥下为 2 个和 60 次。等待 Retry-After 的值并重新发送。流式输出会占用并发槽位直到结束,因此请关闭你放弃的流。
  • 角色会忘记细节。 将关键事实放入系统提示词中,并对旧轮次进行总结。

提示词不用于训练。要了解其他按 token 付费选项的对比情况,请参阅 对比指南。

问答

我可以与 SillyTavern 一起使用吗?

是的。选择 Chat Completion 数据源,使用自定义的兼容 OpenAI 的接口,输入站点的 /v1 URL、你的 API 密钥以及模型 ID uncensored。

角色扮演时最佳温度是多少?

大多数人从 0.8 到 1.0 开始,top_p 接近 0.9。每次只更改一个值,并在多次对话中测试。

模型会生成图片或语音吗?

不。它仅支持文本,因此图像、音频和视频需要单独的工具。

有内容限制吗?

它专为合法的成人用途设计,所有角色必须是成年人。涉及未成年人的性内容永远不被允许。

长篇幅角色扮演的成本是多少?

对于 30,000 token 的历史记录和 400 token 的回复,每轮成本约为 $0.0047,或每百轮 $0.47。缩短上下文可以降低成本。

只需填写一个表单即可获得密钥

创建账户,复制密钥,更改基础 URL。这就是全部设置。

获取 API 密钥