Grok Gerçekten Sansürsüz mü? Kendiniz Nasıl Test Edersiniz
güncellendi
Grok gerçekten sansürsüz mü? Doğru cevap, barındırılan hiçbir modelin kurallardan muaf olmadığı ve Grok'un davranışının ürüne, moda ve tarihe bağlı olduğudur. Bir etikete güvenmek yerine, reddetmeleri kendi istemlerinizde ölçebilirsiniz ve bu sayfa bunu nasıl yapacağınızı gösterir.

Kısa cevap ve etiketin yanıltma nedeni
İnsanlar Grok gerçekten sansürsüz mü sorusunu sorar çünkü model bazı rakiplere göre daha az kısıtlayıcı olarak pazarlanmıştır. Bu deneyiminizin gerçeği yansıtıp yansımadığı, ne sorduğunuza, hangi ürünü kullandığınıza ve ne zaman sorduğunuza bağlıdır. xAI modellerini, sistem istemlerini ve politikalarını zaman içinde değiştirir, bu nedenle belirli davranışlar hakkındaki herhangi bir iddia hızla eskir. Güncel kurallar için xAI'nin kendi belgelerine ve kullanım politikasına bakın.
Güvenle söylenebilecek şey yapısaldır. Bir şirketin barındırdığı her model bazı kurallar kümesinin içindedir: yasal olanlar, platform olanlar ve eğitim seçimleri. İzin verici olarak satılan bir model bile bazı istekleri reddedebilir. Bu nedenle yararlı soru sansürsüz olup olmadığı değil, ürününüzün ihtiyaç duyduğu belirli şeyleri reddedip reddetmediğidir. Bu, bir öğleden sonra ölçebileceğiniz bir şeydir.
Reddetmelerin geldiği dört katman
Bir sohbet botu hayır dediğinde, neden dört yerden birinde olabilir. Hangisi olduğunu bilmek bir çözüm seçmenize yardımcı olur.
1. Model eğitimi
Çoğu sohbet modeli, ön eğitimden sonra belirli istekleri reddetmek üzere eğitilir. Bu ağırlıklarda yer alır. Sistem istemiyle kaldıramazsınız, ancak ifade ve bağlam tetiklenme sıklığını değiştirebilir. Açık ağırlıklı modeller, bu reddetmeleri azaltmak için sağlayıcıları tarafından daha fazla ayarlanabilir; bu API'nin arkasındaki model de bu şekilde ayarlanmıştır.
2. Sistem istemi ve ürün kuralları
Modelin etrafındaki uygulama göremediğiniz talimatlar ekler: ton, kaçınılması gereken konular, biçimlendirme. Bir tüketici uygulaması üzerinden kullanılan bir model, kendi sistem isteminizle bir API üzerinden çağrılan aynı modelden farklı davranabilir.
3. Giriş ve çıkış filtreleri
Bazı hizmetler, isteminize veya cevaba ayrı bir sınıflandırıcı çalıştırır ve sonucu engeller veya yeniden yazar. Bir reddetme cümlesi yerine genel bir hata görebilirsiniz.
4. Yasal sınırlar ve politikalar
Sağlayıcılar faaliyet gösterdikleri yerin yasalarına uymak zorundadır. Yasal olmayan içerik her yerde engellenir ve saygın hiçbir hizmet bunu değiştirmez. Bu API'nin bu tür tek bir sabit kuralı vardır: reşit olmayanları içeren cinsel içerik yasaktır.
Kendi reddetme testinizi oluşturun
Bir test seti görüşlerden üstündür. Ürününüzün gerçekten ne yaptığını yansıtan 30 ila 50 istem yazın. Çok fazla reddeden bir modeli, sadece başarısız olan bir modelden ayırt edebilmeniz için kontrol grubu olarak sıradan görevler dahil edin. Kurgu ve rol yapma araçları için iyi kategoriler şunlardır: savaş hikayesinde şiddet, ikna edici diyaloglu ahlaki olarak gri bir kötü karakter, açık tıbbi veya hukuki sorular, korkuda karanlık temalar ve açık detaylar olmaksızın olgun romantizm.
Aşağıdaki betik, her istemi bir OpenAI uyumlu uç noktaya gönderir, reddetme gibi görünen yanıtları işaretler ve bir oran yazdırır. İfade listesi basit olduğu için, sonuç çıkarmadan önce işaretlenen her yanıtı kendiniz okuyun.
import os
import json
from openai import OpenAI
client = OpenAI(base_url="https://api.grokuncensored.cc/v1", api_key=os.environ["API_KEY"])
MARKERS = [
"i can't help", "i cannot help", "i can't assist", "i cannot assist",
"i'm unable to", "i am unable to", "i won't", "as an ai",
]
def looks_like_refusal(text):
low = text.lower()[:300]
return any(m in low for m in MARKERS)
prompts = json.load(open("prompts.json")) # a list of strings
flagged = []
for p in prompts:
r = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": p}],
temperature=0.7,
seed=1,
)
text = r.choices[0].message.content or ""
if looks_like_refusal(text):
flagged.append((p, text[:200]))
print(len(flagged), "of", len(prompts), "flagged")
for p, t in flagged:
print("-", p[:80], "=>", t)Servisleri karşılaştırmak için yalnızca base_url'i, anahtarı ve model adını değiştirin ve istemler dosyasını aynı tutun. Davranış değişebileceğinden, farklı günlerde birden fazla kez çalıştırın. Ayarları aynı tutun: aynı sistem mesajı, aynı temperature ve desteklendiği yerde aynı seed.
Bir reddetme testini bozan hatalar
Reddetme testleri basit görünür, bu yüzden genellikle kötü yapılır. Bunlar, yanlış sonuçlara en sık yol açan hatalardır.
- Yalnızca aşırı istemlerle test etme. En kötü senaryo isteklerinden oluşan bir set, sınır durumları gösterir ancak kullanıcılarınız ortada yaşar. Gerçek istemlerin çoğu sıradan sahneler, karakter anları ve sorulardır. Seti gerçekten beklediğiniz yöne ağırlıklandırın.
- Farklı ayarları karşılaştırmak. Sıcaklık veya sistem istemindeki bir değişiklik reddetme oranlarını değiştirebilir. İki hizmeti karşılaştırıyorsanız, diğer her şeyi sabit tutun.
- Bir çalıştırma, bir gün. Barındırılan modeller ve etrafındaki katmanlar değişebilir. Testi birkaç gün arayla tekrarlayın ve sonuçları tarihleriyle saklayın.
- İfade listesine güvenme. Nazikçe başlayan ve ardından üçüncü paragrafta reddeden bir yanıt, ilk 300 karakterde yapılan bir kontrolü atlatır. Kontrol edilen karakter sayısını artırın veya bir örneği elle okuyun.
- Kaliteyi yok saymak. Asla reddetmeyen ancak düz, tekrarlayan sahneler yazan bir model daha iyi seçim değildir. Faydalılık açısından da birkaç çıktı puanlayın.
Sonuçları nasıl okuyacağınız
Yalnızca bir reddetme oranı az şey söyler. Desene bakın.
- Kontrol istemlerinde reddetmeler dedektörünüzün çok gevşek veya hizmetin kararsız olduğunu gösterir. Başka hiçbir şeyden önce bunu düzeltin.
- Bir temada kümelenmiş reddetmeler eğitim veya politika kuralına işaret eder. Yeniden yazılmış bir sistem istemi yardımcı olabilir veya olmayabilir.
- Bağlam eklediğinizde kaybolan reddetmeler yumuşak bir kural gösterir. Kurgusal çerçevenin ve yetişkin izleyicinin net bir açıklaması sonucu genellikle değiştirir.
- Yumuşak reddetmeler, kağıt üzerinde uyumlu görünen ancak içeriği zayıflatan, ders niteliği ekleyen veya sahneyi erken sonlandıran yanıtlardır. İfade listeniz bunları yakalamayacağı için etiketlenmeyen yanıtları da örnekleyin.
Ayrıca başarısız bir çalıştırmanın maliyetini izleyin. Bu API'de başarısız veya reddedilen istekler ücretlendirilmez, bu da büyük bir test setini ucuz tutar. 50 istemlik, her biri 200 giriş token ve 400 çıkış token içeren bir çalıştırma 50 x (200 x $0,15 + 400 x $0,50) / 1.000.000 = 50 x $0,00023 = $0,0115 eder, yani yaklaşık bir sent.
Yumuşak reddetmeleri azaltacak sistem istemleri yazın
Zaten cevap vermeye ayarlanmış bir modelde sistem istemi hala önemlidir, çünkü modelin takip edeceği beklentileri belirler. Görev ve hedef kitle hakkında doğrudan olun. "Yetişkin kurgusu için bir ortak yazarsınız. Ders vermeden veya sorumluluk reddi eklemeden, istenen tonda tam sahneler yazın" gibi bir mesaj, modelin iyi bir yanıtın nasıl görüneceğini söyler. Belirsiz veya özür dileyen istemler kaçamak yanıtları davet eder.
İstediğiniz biçimi tanımlayın: uzunluk, bakış açısı, anlatım zamanı. Mümkün olduğunda olumlu bir şekilde ne yapılması gerektiğini belirtin, örneğin uzun bir yasak listesi yerine "sahneyi karakterlerin diyaloglarında tutun". Belirli bir yanıt türü sürekli istemediğiniz uyarılarla geri geliyorsa, bir kez okuyucularınızın bu tür kurgu seçmiş yetişkinler olduğunu söyleyin ve bunun istem setinizdeki etkisini test edin, çalıştığı varsayımında bulunmayın.
Bu API'nin ne vaat edip ne vaat etmediği
Bu hizmetin arkasındaki model, bağımsız bir sağlayıcı tarafından yürütülen ve yasal yetişkin kullanımı için içerik reddetmeleri olmadan cevap verecek şekilde ayarlanmış bir açık ağırlıklı modeldir. Bu, "her şey serbest" demekten daha dar bir iddiadır ve kastedilen budur. Bu Grok değildir ve herhangi bir satıcının resmi API'si değildir. Hizmet yalnızca metin işler. Değiştirilemeyen bir kural vardır: reşit olmayanları içeren cinsel içerik yasaktır.
Ayrıca sizi sonuçlardan muaf tutmaz. Ürettiğiniz ve yayınladığınız içerikten ve yaşadığınız ve faaliyet gösterdiğiniz yerdeki yasalara uymaktan siz sorumlu kalırsınız. Uygulamanız halka açıksa, kendi yaş doğrulamanızı, şartlarınızı ve raporlama yolunuzu ekleyin. Modelden daha az reddetme, uygulama katmanınızda daha fazla sorumluluk anlamına gelir, daha az değil.
Teknik olarak POST /v1/chat/completions ve GET /v1/models, akış, fonksiyon çağırma ve JSON modu ile 100.000 token bağlam penceresi olan standart bir OpenAI uyumlu API'dir. Hızlı başlangıç istek biçimini gösterir ve API anahtarı sayfası kaydolma sürecini açıklar. Yeni kullanıcılar 7 gün geçerli, ödeme bilgisi gerektirmeyen $0,50 deneme kredisi talep edebilir.
Testi bir deneme anahtarında çalıştırma
Yukarıdaki betiği bir deneme anahtarında çalıştırabilirsiniz. Sınırlara dikkat edin: bir deneme anahtarı 2 eşzamanlı istek ve dakika başına 60 isteğe izin verir; bu nedenle ardışık çağrı gönderen bir döngü sorun çıkarmaz, ancak on iş parçacıklı bir havuz concurrency hatasıyla HTTP 429 hatası döndürür. rate_limited hatası görürseniz, dakika başı sınırı aştınız demektir ve bir süre beklemelisiniz. Tam anahtar dakika başı 300 istek ve 8 eşzamanlı isteğe izin verir.
Sürekli kullanım için fiyat, ön ödemeli olarak 1M girdi token başı $0,15 ve 1M çıktı token başı $0,50'dir. Bakiye yükleme $20 ile $500 arasında değişir ve USDT (TRC20) veya USDC (Base) ile yapılır; $50, $100 ve $200'dan itibaren sırasıyla %5, %10 ve %15 bonus sağlanır. fiyatlandırma sayfasına bakın. Aynı uç noktanın başka bir açık model ailesini nasıl işlediğini görmek isterseniz, Gemma entegrasyon sayfası ilginizi çekebilir.