Kodlama İçin En İyi Abliterated Modeller: Nelere Dikkat Edilmeli
Kodlama için en iyi abliterated modeller, reddedilmeler ortadan kalktıktan sonra da iyi kod yazmaya devam edenlerdir ve bunları yalnızca kendi görevleriniz üzerinde test ederek anlayabilirsiniz. Onları nasıl değerlendireceğiniz, reddedilmelerin geliştiricileri nasıl etkilediği ve bir API üzerinden testin nasıl çalıştırılacağı aşağıda açıklanmıştır.
güncellendi

Reddetmeler kaldırıldıktan sonra bir kodlama modelini iyi yapan şey
Asla reddetmeyen bir model oluşturmak kolaydır. Asla reddetmeyen ve hala doğru kod yazan bir model daha zordur, çünkü reddetmeleri kaldıran düzenleme modelin diğer becerilerini de zayıflatabilir. Bu yüzden faydalı soru "isimlerin hangi listesi en uzun" değil, "hangi yapı temel modelin kodlama yeteneğini korur" sorusudur.
Bu size önem sırasına göre kontrol edilecek dört şey verir:
- Görevlerinizde doğruluk. Kod çalışıyor, testlerinizi geçiyor ve standartlarınıza uyuyor mu?
- Talimatları takip etme. Sadece bir diff isterseniz, size sadece bir diff verir mi? Belirttiğiniz dil sürümünü ve kütüphaneyi takip eder mi?
- Bağlam işleme. Birkaç büyük dosyayı aynı anda okuyabilir ve aralarındaki fonksiyon isimlerini takip edebilir mi?
- Aslında gönderdiğiniz istemlerdeki reddedilme oranı. Sansürsüz modellere bakmanın nedeni budur, bu nedenle doğrudan ölçün.
İstemleri göstermeden modelleri tek bir puana göre sıralayan herhangi bir sayfaya şüpheyle yaklaşın. Bir liderlik tablosu size başkasının iş yükü hakkında bilgi verir.
Reddetmeler geliştiricileri nerede etkiler
Çoğu kodlama isteği bir filtreyi tetiklemez. Tetikleyenler bir kalıp paylaşır: kod nötrdür ancak konu riskli görünür.
- Güvenlik testi. Port tarayıcıları, fuzzer'lar, yamaladığınız bir zafiyet için proof-of-concept istismarları veya kendi sunucularınızı zayıf şifreler için kontrol eden bir betik.
- Tersine mühendislik. Disassembly çıktısını açıklamak, kendi makinenizde bulduğunuz karartılmış (obfuscated) bir betiği açmak veya bir dosya formatı çıkarmak.
- Scraping ve otomasyon. Oturumları döndürme, botları caydıran siteleri ayrıştırma, meşru bir görev için toplu olarak formları doldurma.
- Zararlı yazılım analizi. Tespit kuralları yazmak için bir örnek okumak, ne yaptığını satır satır tartışmayı gerektirir.
- Hassas metinler için veri araçları. Kötüye kullanım içeriği için sınıflandırıcılar veya test sabitleri oluşturma, burada test verisi kendisi kötü görünür.
- Oyun ve kurgu araçları. Koyu temalı yetişkin odaklı hikayeler için diyalog, görev metni veya karakter sayfaları oluşturma.
Her durumda bir reddetme bir çağrıyı boşa harcar ve etik hakkında nazik bir ders, ödediğiniz tokenları boşa harcar. Reddetmeleri olmayan bir model bir yeniden deneme ve yeniden yazma tasarrufu sağlar. Bir tane istemenizin nedenidir, düşünmeyi bırakmanızın nedeni değildir: İnşa ettiğiniz ve çalıştırdığınız şeyler için siz sorumlu kalırsınız. Bu hizmet yasal yetişkin kullanımı içindir.
Bu API size ne verir
Burada bir katalogdan seçim yapmazsınız. API, bağımsız bir sağlayıcı tarafından çalıştırılan ve içerik reddetmeleri olmadan cevap verecek şekilde ayarlanmış tek bir açık ağırlıklı model sunar. Herhangi bir model satıcısının resmi API'si değildir ve birkaç model arasında bir yönlendirici de değildir. Sansürsüz bir kodlama modeli aramanız, aralarında geçiş yapmak istediğiniz uzun bir aday listesiyle bitiyorsa, bu tür bir hizmet değildir. "Filtresi olmayan, OpenAI tarzı bir uç nokta arkasında tek bir yetkin model istiyorum" ile son veriyorsa, budur.
Geliştiriciler için önemli gerçekler:
- İstem ve tamamlama için 100.000 token bağlam penceresi, birkaç kaynak dosya ve uzun bir konuşma için yeterlidir.
- SSE üzerinden akış, araç çağırma ve JSON modu, tümü OpenAI formatındadır.
temperature,top_p,stop,seedve cezalar aktarılır.- Tam bir anahtar 8 eşzamanlı istek ve dakika başına 300 istek izin verir.
- Sadece metin. Embedding yok, görüntü oluşturma yok, ince ayar yok.
Dokümantasyon her parametreyi ve yanıt başlığını listeler.
On dakikada bir kodlama testi çalıştırın
Daha önce yaptığınız işlerden küçük bir test kümesi oluşturun: bilinen iyi bir cevabı olan beş ila on görev, örneğin geçen ay düzelttiğiniz bir hata, testleri olan bir fonksiyon ve barındırılan, hizalı (aligned) bir modelin reddettiği bir istem. Ardından sonuçların tekrarlanabilir olması için hepsini uç nokta üzerinden düşük bir sıcaklıkla çalıştırın.
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)
Başka bir şeyle karşılaştırırken aynı istemleri ve seed'i koruyun. Her cevabı okuyarak değil, çalıştırarak puanlayın. Sadece metne bakarsanız, kendinden emin ama yanlış bir cevap kazanır.
Editörünüzde ve ajanlarda kullanma
Uç nokta OpenAI protokolünü konuştuğu için, çoğu kodlama aracı eklenti olmadan onu kullanabilir. Özel bir OpenAI uyumlu sağlayıcı kabul eden editörlerde ve ajanlarda, örneğin Cline veya Continue'da base URL'yi https://api.abliteratedmodels.cc/v1 olarak ayarlayın, anahtarınızı yapıştırın ve model adı olarak uncensored girin. Sürümler arasında değişebilecekleri için alanların tam adlarını bulmak için her aracın kendi ayarlar sayfasını kontrol edin.
aider komut satırı asistanı için, uç noktayı ortam değişkenleri aracılığıyla ayarlayın ve modeli openai/ ile ön ekleyin:
export OPENAI_API_BASE=https://api.abliteratedmodels.cc/v1
export OPENAI_API_KEY=YOUR_KEY
aider --model openai/uncensored
İki ayar ajan döngüleriyle yardımcı olur. Dokuzuncu eşzamanlı istek HTTP 429 durumunu ve concurrency hata kodunu döndürdüğü için eşzamanlılığı 8 veya altında tutun. Ve akışlı bir istek, akış bitene kadar eşzamanlılık slotunu tutar, bu yüzden bir araçta takılı kalan bir akış başka birini aç bırakabilir.
Kod kalitesine yardımcı olan istem alışkanlıkları
Hangi modeli seçerseniz seçin, nasıl sorduğunuz sonucun çoğunu belirler. Bir model reddetmeyi bıraktıktan sonra bu alışkanlıklar daha önemlidir, çünkü her şeye cevap vermeye çalışacaktır, kötü belirtilen istekler dahil.
- Dili ve sürümü belirtin. "Python 3.11, sadece standart kütüphane" bir sürü yanlış import hatasını ortadan kaldırır.
- Önce arayüzü verin. Fonksiyon imzasını, türleri ve bir örnek çağrıyı yapıştırın. Model ardından cevabını kendi şeklini icat etmek yerine kodunuza uydurur.
- Bir diff veya tek bir dosya isteyin. Açık uçlu istekler, milyon başına $0,50 ile çıktı tokenlarında ödediğiniz uzun cevaplar üretir.
- Kod için sıcaklığı düşük tutun. 0 ile 0,3 arasında bir değer daha istikrarlı bir çıktı verir. Bir sonucu yeniden üretmek istediğinizde bir
seedekleyin. stopdizileri kullanın. Sadece kod bloğunu istiyorsanız, model yorum eklemesin diye kod bloğunun kapanış satırında durun.- Başarısız çıktıyı gönderin. Bir hata için traceback'i ve işaret ettiği satırları dahil edin. Bu herhangi bir açıklamadan daha iyidir.
Rolü ve çıktı formatını adlandıran kısa bir sistem mesajı, yukarıdaki test betiğinde olduğu gibi, genellikle uzun bir mesajdan daha fazlasını yapar. Sistem metni her istekte girdi olarak faturalandırıldığı için, kısalık uzun bir oturum boyunca da para tasarrufu sağlar.
Birleştirmeden önce cevabı kontrol edin
Reddedilmeleri olmayan bir model, hizalanmış bir model kadar kendinden emin görünen hatalı kod yazabilir. Testleri çalıştırın. Diff'i okuyun. Gizli bilgilere, izinlere, dosya silmeye veya ağ erişimine erişen kodlar için onu iki kez gözden geçirin ve önce bir kum havuzunda veya tek kullanımlık bir konteynerde çalıştırın. Her iki durumda da tokenlar için ödersiniz; sisteminizi koruyan şey gözden geçirmedir.
Kodlama işi neye mal olur?
Fiyatlandırma milyon girdi token başına $0,15 ve milyon çıktı token başına $0,50'dir, ön ödemeli krediden faturalandırılır. Kodlama iş yükleri girdi ağırlıklıdır, çünkü kod gönderirsiniz ve daha küçük bir değişiklik alırsınız, bu fiyat yapısına uygundur. Birkaç örnek hesaplama:
| Görev | İstek tokenları | Çıktı tokenları | Maliyet |
|---|---|---|---|
| 8.000 token'lık bir dosyayı inceleyin | 8.000 | 1.000 | $0,0012 + $0,0005 = $0,0017 |
| 600 token'lık bir fonksiyon oluşturun | 1.500 | 600 | $0,000225 + $0,0003 = $0,000525 |
| 100.000 tokenlık pencerenin tamamını doldurun, 2.000 token yanıt | 98.000 | 2.000 | $0,0147 + $0,001 = $0,0157 |
Her seferinde 50.000 tokenlık bağlam penceresi ile 20 istek yapan bir ajan toplamda 1.000.000 girdi tokenı gönderir, bu $0,15 eder, ayrıca belki 10.000 çıktı tokenı $0,005 karşılığında gelir. Tüm oturum yaklaşık $0,155 tutar. İlk sıradaki dosya boyutunda bin dosya incelemesi $1,70 eder. Deneme maliyeti düşüktür; önemli olan sonuçları kontrol etmek için harcadığınız zamandır. Başarısız veya reddedilen istekler için ücret alınmaz.
Yükleme miktarları $20 ile $500 arasında ve $50, $100 ve $200'deki bonuslar dahil olmak üzere tüm ayrıntılar fiyatlandırma sayfasında yer almaktadır.
Taahhüt vermeden önce bilmeniz gereken limitler
Sansürsüz bir modelin ne için olduğunu kendinize karşı dürüst olun. Temel modelinden daha iyi bir programcı olmayacaktır ve daha az reddetme yapan bir model çok istekli olabilir: güvensiz kod üretmekten veya yanlış bir varsayım üzerinden ilerlemekten çekinmez. Üretilen kodu, özellikle kimlik doğrulama, dosya silme veya para ile ilgili olanları, bir stajyer meslektaşınızdan geliyormuş gibi gözden geçirin.
Ayrıca hizmet limitlerini de planlayın. 8 MB'tan büyük gövdeli istekler reddedilir ve deneme anahtarları eşzamanlı istekler için 2'ye, dakika başına istekler için 60'a kadar sınırlandırılmıştır; bu bir test için yeterlidir ancak toplu işler için yeterli değildir. HTTP 429 ve Retry-After: 5 başlığını gördüğünüzde sağlayıcı geçici olarak aşırı yüklenmiştir; bekleyin ve yeniden deneyin. sansürsüz LLM API maliyeti ve kontrolü sayfası bunun barındırılan hizalı (aligned) alternatiflerle nasıl örtüştüğünü kapsar.
Denemek için, kayıt olduktan sonra API anahtarı sayfasından $0,50 deneme kredisi talep edin. Kart gerektirmez, 7 gün sürer ve kişi başı bir kezle sınırlıdır.
Daha fazla kılavuz
Sorular ve cevaplar
Kodlama için en iyi abliterate edilmiş model hangisidir?
Dürüst bir evrensel cevap yoktur, çünkü sonuçlar dilinize ve görevlerinize bağlıdır. Kendi işinizden küçük bir test kümesi oluşturun ve adayları bu küme üzerinde karşılaştırın. Bu API tek bir model sunar, bu yüzden o modeli test edersiniz.
Abliterate edilmiş bir model daha kötü kod yazar mı?
Yapabilir, çünkü reddedilmeleri kaldırmak bazen genel kaliteden biraz ödün verilmesine neden olur. Bunun sizin için önemli olup olmadığı, oluşturulan kodu çalıştıran testlerle hızlıca ortaya çıkar.
Editörümdeki bir AI kodlama asistanıyla kullanabilir miyim?
Evet, araç özel bir OpenAI uyumlu uç nokta kabul ediyorsa. Base URL'yi, anahtarınızı ve uncensored model adını girin.
Ne kadar bağlam gönderebilirim?
Pencere 100.000 tokenlık olup, istem ve yanıt arasında paylaşılır. Bu boyutta tam bir istem, girdi için bir kuruştan biraz fazla tutar.
Anahtarınız tek bir formun uzağında
Bir hesap oluşturun, anahtarı kopyalayın ve base URL'yi değiştirin. Kurulum bu kadar basit.