繁中 ▾

abliteratedmodels.cc為開發者託管的無審查 API

Abliterated 模型
取得 API 金鑰

最佳 Abliterated 模型 用於編程:該注意什麼

用於程式碼的最佳abliterated 模型,是在移除拒絕機制後仍能撰寫優質程式碼的模型,而你只能透過在自己的任務上測試來得知。以下是評估方法、拒絕機制如何影響開發者,以及如何透過 API 執行測試。

程式碼區塊上方的終端機,帶有開啟的閘門和流動的光線,象徵不受限制的編程輔助

移除拒絕機制後,什麼讓編程模型變好

永不拒絕的模型很容易建構。永不拒絕且仍能寫出正確程式碼的模型較難,因為移除拒絕機制的修改也可能使模型的其他技能鈍化。因此,有用的問題不是「哪個名單最長」,而是「哪個建構保留了基礎模型的編程能力」。

這給了你四個要檢查的重點,按重要性排序:

  1. 在你任務上的正確性。 程式碼能執行嗎?能通過你的測試並遵循你的規範嗎?
  2. 指令遵循。 如果你只要求產生 diff,你得到的確實只有 diff 嗎?它是否尊重你指定的語言版本和函式庫?
  3. 上下文處理。 它能同時讀取幾個大型檔案並追蹤其中的函式名稱嗎?
  4. 在你實際發送的提示詞上的拒絕率。 這就是為什麼要查看abliterated 模型的原因,所以請直接測量它。

對任何在沒有顯示提示詞的情況下僅憑單一評分對模型進行排名的頁面保持警惕。排行榜告訴你的是別人的工作負載。

拒絕機制如何影響開發者

大多數編程請求從未觸發過濾器。觸發的那些有一個共同模式:程式碼是中性的,但主題聽起來有風險。

  • 安全測試。 連接埠掃描器、模糊測試器、你正在修補的漏洞的概念驗證攻擊程式(exploit),或用於檢查你自己伺服器是否有弱密碼的腳本。
  • 逆向工程。 解釋反彙編、解開你在自己機器上找到的混淆腳本,或解析檔案格式。
  • 爬蟲和自動化。 輪換會話、解析不歡迎機器人的網站、為合法任務大量填寫表單。
  • 惡意軟體分析。 讀取樣本以撰寫檢測規則意味著逐行討論它的行為。
  • 敏感文字的資料工具。 為攻擊性內容構建分類器或測試用例,其中測試數據本身看起來很糟糕。
  • 遊戲和小說工具。 為具有黑暗主題的成人向故事生成對話、任務文本或角色表。

在每種情況下,拒絕會浪費一次呼叫,而關於倫理的禮貌說教會浪費你付費的 token。沒有這些拒絕的模型可以節省重試和重寫。這是想要它的一個理由,而不是停止思考的理由:你仍對你構建和運行的內容負責。此服務適用於合法的成人用途。

此 API 能為你提供什麼

你不在這裡從目錄中選擇。API 提供一個開放權重模型,由獨立供應商運行,並調整為在不拒絕內容的情況下回答。它不是任何模型供應商的官方 API,也不是跨多個模型的路由器。如果你尋找無審查編程模型的最終結果是一個你想在其間切換的長候選名單,這不是那種服務。如果它的最終結果是「我想要一個沒有過濾器、位於 OpenAI 風格端點後面的單一能力強的模型」,那就是。

對開發者重要的事實:

  • 100,000 token 的上下文視窗,用於提示詞與補完,足以容納多個原始碼檔案和長對話。
  • SSE 串流輸出、函式呼叫和 JSON 模式,均採用 OpenAI 格式。
  • temperature、top_p、stop、seed 以及懲罰參數都會傳遞。
  • 完整金鑰允許 8 個並行請求和每分鐘 300 個請求。
  • 僅文字。無嵌入、無圖像生成、無微調。

文件列出了每個參數和回應標頭。

十分鐘內完成編程測試

從你已完成的工作中建立小型測試集:包含五到十個已知正確答案的任務,例如你上月修復的錯誤、帶有測試的函式,以及一個被託管對齊模型拒絕的提示詞。然後透過端點執行所有測試,並設定低溫度以確保結果可重複。

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),將 Base 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,僅標準函式庫" 消除了一整類錯誤的 import。
  • 先給出介面。 貼上函式簽名、型別和一個範例呼叫。模型然後將其答案適應你的程式碼,而不是自創一套結構。
  • 要求 diff 或單一檔案。 開放式請求會產生長答案,你需為輸出 token 付費,每百萬 token $0.50。
  • 程式碼請將溫度設低。數值介於 0 到 0.3 之間可產生較穩定的輸出。若需重現結果,請加入 seed。
  • 使用 stop 序列。 如果你只需要程式碼區塊,請在結束標記處停止,以免模型附加評論。
  • 發送失敗的輸出。 對於錯誤,包含 traceback(堆疊追蹤)和它指向的行。這比任何描述都好。

簡短的系統訊息,指明角色和輸出格式(如上方的測試腳本),通常比長訊息更有效。由於系統文字在每次請求時都計費為輸入,簡短也能在長會話中節省費用。

合併前檢查答案

無拒絕機制的模型與對齊模型一樣,都有能力自信地寫出錯誤程式碼。執行測試。閱讀 diff。對於涉及機密、權限、檔案刪除或網路存取的程式碼,請審視兩次並先在沙箱或一次性容器中執行。無論如何你都要為 token 付費;審視才是保護你系統的關鍵。

程式開發工作的成本

價格為每百萬輸入 token $0.15 和每百萬輸出 token $0.50,從預付額度計費。編程工作負載是輸入密集的,因為你發送程式碼並獲得較小的更改,這適合這種價格結構。幾個計算範例:

任務輸入 token輸出 token成本
審查一個 8,000 token 的檔案8,0001,000$0.0012 + $0.0005 = $0.0017
產生 600 token 的函式1,500600$0.000225 + $0.0003 = $0.000525
填滿整個 100,000 token 視窗,回傳 2,000 token98,0002,000$0.0147 + $0.001 = $0.0157

一個每次呼叫 20 次且每次使用 50,000 token 上下文的代理程式,總共會發送 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 相容端點。輸入 Base URL、你的金鑰以及模型名稱 uncensored。

我可以傳送多少上下文?

視窗為 100,000 個 token,由你的提示詞和回覆共用。達到該大小的完整提示詞,其輸入費用略高於一分錢。

只差一張表單,即可取得金鑰

建立帳號、複製金鑰、更改基礎 URL。這就是整個設定過程。

取得 API 金鑰