最佳 Abliterated 模型 编程选型指南
最好的 abliterated 编程模型是在移除拒绝后仍能编写优质代码的模型,你只能通过在自己的任务上测试来确认。以下是评估方法、拒绝如何影响开发者以及如何通过 API 运行测试。
更新于

移除拒绝后,什么样的编程模型才算好
一个从不拒绝的模型很容易构建。一个从不拒绝且仍能编写正确代码的模型更难,因为移除拒绝的修改也可能削弱模型的其他技能。所以有用的问题不是“哪个名单最长”,而是“哪个构建保持了基础模型的编程能力完整”。
这给了你四个需要按重要性顺序检查的方面:
- 在你任务上的正确性。 代码能运行、通过你的测试并遵循你的规范吗?
- 指令遵循。 如果你只要求 diff,你得到的只是 diff 吗?它是否尊重你指定的语言版本和库?
- 上下文处理。 它能同时读取几个大文件并跟踪其中的函数名吗?
- 你实际发送提示词时的拒绝率。 这是查看abliterated 模型的原因,因此请直接测量它。
警惕任何在不显示提示词的情况下通过单一分数对模型进行排名的页面。排行榜告诉你的是别人的工作量。
拒绝如何影响开发者
大多数编程请求永远不会触发过滤器。触发的那些有一个共同模式:代码是中性的,但主题听起来有风险。
- 安全测试。 端口扫描器、模糊测试器、你正在修补的漏洞的概念验证利用程序,或检查你服务器弱密码的脚本。
- 逆向工程。 解释反汇编、解压你在自己机器上找到的混淆脚本,或解析文件格式。
- 爬取和自动化。 轮换会话、解析禁止机器人的网站、为合法任务批量填写表单。
- 恶意软件分析。 读取样本以编写检测规则意味着逐行讨论它的作用。
- 敏感文本的数据工具。 为滥用内容构建分类器或测试夹具,其中测试数据本身看起来就很糟糕。
- 游戏和小说工具。 为具有黑暗主题的成人导向故事生成对话、任务文本或角色表。
每种情况下,拒绝都会浪费一次调用,而关于伦理的礼貌说教会浪费你付费的 token。没有这些拒绝的模型可以节省重试和重新措辞。这是想要一个的理由,而不是停止思考的理由:你仍然对你构建和运行的内容负责。此服务适用于合法的成人用途。
此 API 能为你提供什么
你无需从目录中选择。此 API 提供单一开放权重模型,由独立提供商运营,经过调优以在不拒绝内容的情况下回答。它不是任何模型供应商的官方 API,也不是跨多个模型的网关。如果你的搜索目标是找到一款无审查的代码模型,并且最终得到一个你想在其中来回切换的一长串候选名单,这不是那种服务。如果你的搜索结果是“我想要一个没有过滤器的强大模型,通过 OpenAI 风格的接口访问”,那就是它。
开发者关心的事实:
- 100,000 token 的上下文窗口用于提示词和补全,足以容纳几个源文件和长对话。
- 支持 SSE 流式输出、函数调用和 JSON 模式,均符合 OpenAI 格式。
temperature、top_p、stop、seed和惩罚参数都会透传。- 完整密钥允许 8 个并发请求和每分钟 300 个请求。
- 仅文本。无嵌入、无图像生成、无微调。
文档 列出了每个参数和响应头。
十分钟运行编程测试
从你已完成的工作中构建小规模测试集:五到十个已知正确答案的任务,例如你上个月修复的 bug、带有测试的函数,以及一个托管对齐模型拒绝的提示词。然后通过接口以低温度运行所有任务,以便结果可重复。
from openai import OpenAI
client = OpenAI(
base_url="https://api.abliteratedmodels.cc/v1",
api_key="YOUR_KEY",
)
SYSTEM = (
"You are a senior engineer. Reply with code only, in one fenced block, "
"then at most three lines of notes."
)
tasks = [
"Write a Python function that parses a CIDR string and lists usable hosts.",
"Write a Bash one-liner that finds open ports on 192.168.1.10 using only /dev/tcp.",
"Explain what this regex does and where it backtracks badly: ^(a+)+$",
]
for prompt in tasks:
r = client.chat.completions.create(
model="uncensored",
temperature=0.2,
seed=7,
messages=[
{"role": "system", "content": SYSTEM},
{"role": "user", "content": prompt},
],
)
print("=" * 60)
print(prompt)
print(r.choices[0].message.content)
print("tokens:", r.usage.prompt_tokens, r.usage.completion_tokens)
与任何其他内容对比时,保持相同的提示词和种子。通过运行答案来评分,而不是阅读。如果你只看文本,一个自信的错误答案会胜出。
在编辑器和代理中使用
因为接口使用 OpenAI 协议,大多数编程工具无需插件即可使用。在接受自定义 OpenAI 兼容提供者的编辑器和代理(如 Cline 或 Continue)中,将基础 URL 设置为 https://api.abliteratedmodels.cc/v1,粘贴你的密钥,并将模型名称输入为 uncensored。检查每个工具自己的设置页面以获取确切的字段名,因为它们在不同版本之间会变化。
对于 aider 命令行助手,通过环境变量设置接口,并在模型前加上 openai/ 前缀:
export OPENAI_API_BASE=https://api.abliteratedmodels.cc/v1
export OPENAI_API_KEY=YOUR_KEY
aider --model openai/uncensored
两项设置有助于处理代理循环。将并发保持在 8 或以下,因为第九个并发请求将返回 HTTP 429 错误,错误代码为 concurrency。请记住,流式请求会占用其并发槽位,直到流结束,因此一个工具中的流卡住可能让另一个工具拿不到并发槽位。
有助于代码质量的提示词习惯
无论你选择哪种模型,你提问的方式决定了大部分结果。一旦模型停止拒绝,这些习惯更重要,因为它会尝试回答一切,包括定义不佳的请求。
- 声明语言和版本。 “Python 3.11,仅限标准库”可以消除一类错误的导入。
- 先给出接口。 粘贴函数签名、类型和一个示例调用。模型随后将其答案适配到你的代码中,而不是自创一套结构。
- 要求 diff 或单个文件。 开放式请求会产生长答案,你需按每百万 token $0.50 支付输出 token 费用。
- 代码保持低温度。 0 到 0.3 之间的值提供更稳定的输出。当你想要复现结果时,添加一个
seed。 - 使用
stop序列。 如果你只需要代码块,在闭合围栏处停止,这样模型就不会附加评论。 - 发送失败的输出。 对于 bug,包含 traceback(堆栈跟踪)和它指向的行。这比任何描述都好。
简短的系统消息(指明角色和输出格式,如上面的测试脚本所示)通常比长消息更有效。由于系统文本在每个请求中均作为输入计费,简洁性在长会话中也能节省费用。
合并前检查答案
无审查模型与经过对齐的模型一样,都能自信地写出包含 bug 的代码。运行测试。阅读 diff。对于涉及密钥、权限、文件删除或网络访问的代码,请仔细审查两次,并先在沙箱或一次性容器中运行。无论哪种情况,你都要为 token 付费;审查才是保护你系统的关键。
编程工作的成本
价格为每百万输入 token $0.15 和每百万输出 token $0.50,从预付额度中计费。编程工作负载输入较重,因为你发送代码并返回较小的更改,这适合这种价格结构。几个计算示例:
| 任务 | 输入 token | 输出 token | 成本 |
|---|---|---|---|
| 审查一个 8,000 token 的文件 | 8,000 | 1,000 | $0.0012 + $0.0005 = $0.0017 |
| 生成 600 个 token 的函数 | 1,500 | 600 | $0.000225 + $0.0003 = $0.000525 |
| 填满整个 100,000 token 的上下文窗口,返回 2,000 个 token | 98,000 | 2,000 | $0.0147 + $0.001 = $0.0157 |
一个代理每次以 50,000 token 的上下文进行 20 次调用,总共发送 1,000,000 个输入 token,费用为 $0.15,加上可能 10,000 个输出 token,费用为 $0.005。整个会话的费用约为 $0.155。以第一行的规模进行一千次文件审查的费用为 $1.70。实验的成本很小;重要的是你花在检查结果上的时间。失败或被拒绝的请求不收费。
充值金额从 $20 到 $500,以及 $50、$100 和 $200 的奖励等全部详情,请查看 定价页面。
决定使用前你需要了解的限额
诚实地评估无审查模型的用途。它不会比基础模型成为更好的程序员,且拒绝更少的模型可能过于急切:它会毫不犹豫地生成不安全的代码或基于错误的假设运行。像审查初级同事的代码一样审查生成的代码,特别是涉及身份验证、文件删除或金钱的部分。
还要考虑服务限额。超过 8 MB 的请求体会被拒绝,试用密钥限制为 2 个并发请求和每分钟 60 个请求,这足以进行测试,但不足以用于批处理作业。当你看到带有 Retry-After: 5 头的 HTTP 429 时,表示提供商暂时过载;请等待并重试。无审查 LLM API 成本与控制 相关页面涵盖了这如何与托管的对齐替代方案进行比较。
要试用,请在注册后从 API 密钥页面 领取 $0.50 的免费试用额度。无需信用卡,有效期 7 天,每人限领一次。
更多指南
问答
哪种abliterated 模型最适合编程?
没有诚实的通用答案,因为结果取决于你的语言和任务。从你自己的工作中构建一个小测试集,并在其上比较候选模型。此 API 提供单一模型,因此你只需测试该模型。
abliterated 模型会写出更差的代码吗?
它可以,因为移除拒绝有时会稍微降低整体质量。这对你是否重要,在运行生成代码的测试中会很快显现。
你可以在编辑器的 AI 代码助手中使用它吗?
可以,如果工具接受自定义 OpenAI 兼容接口。输入基础 URL、你的密钥和模型名称 uncensored。
我可以发送多少上下文?
上下文窗口为 100,000 个 token,由你的提示词和回复共享。如此大小的完整提示词,输入费用略高于 1 美分。
只差一张表单,即可获得密钥
创建账户,复制密钥,更改基础 URL。这就是全部设置。