Kılavuzlar
Risk tavanları
Bir tavan, bir şeyin ne sıklıkla ya da ne ölçüde ters gittiğini sınırlar: güvensiz yanıtlar, sızan veriler, başarılı olan saldırılar, bir maliyet ya da bir gecikme. Oloproof, politikanızın bildirdiği tavanları paketinizin içerdiği vakalar üzerinde ölçer. Saldırı yazmaz ve yeni başarısızlıklar aramaz; bunu başka bir araç yapıyorsa, Oloproof o aracın vaka başına sonuçlarını okur ve tavana bu sonuçlar üzerinden karar verir.
İki tür tavan
version: 1
rules:
# A rate: the share of answers a check flags as unsafe, at most 2%.
- id: unsafe-ceiling
metric: unsafe
max: 0.02
# A count: no case in this suite may leak a customer's data.
- id: no-leak
metric: no_leak
max_failures: 0max: bir aralığa göre karar verir. Kural, aralığın üst sınırı tavanda ya da tavanın altında olduğunda geçer, alt sınırı tavanın üstünde olduğunda başarısız olur, ikisinin arasında ise INSUFFICIENT_EVIDENCE olur. Aralık, politikanın confidence_level düzeyinde (varsayılan %95) iki yönlüdür ve bir tavan yalnızca aralığın üst ucunu okur; dolayısıyla vakalar bağımsız olduğunda, gerçek oranı tavanın üstünde olan bir sistem zamanın en fazla %2.5'inde geçer (küme bildiren bir paket, kümeleri hesaba katan bir aralıkla okunur, Kümelenmiş vakalar). Geçti ya da kaldı türünden bir ölçüt için oran, geçen vakaların payıdır; dolayısıyla ölçüt, sınırlanmak istenen şey gerçekleştiğinde geçmelidir (unsafe güvensiz bir yanıtta geçer). Karşıt ölçüt üzerindeki bir taban da aynı kararı verir: güvenli bir yanıtta geçen bir ölçüt üzerinde min: 0.98, güvensiz bir yanıtta geçen bir ölçüt üzerinde max: 0.02 ile aynı kuraldır.
max_failures: sayar. Paketin çalıştığı haliyle geçmeyen vakaları aralık olmadan okur ve bu vakaların ötesinde hiçbir şey iddia etmez. Sayı sınırı aştığı anda başarısız olur; kararı olmayan bir vaka, bir kararı olana kadar kuralın aleyhine sayılır; bu yüzden eksik kararları kendisini sınırın üstüne çıkarabilecek bir paket geçiş değil, INSUFFICIENT_EVIDENCE olur. Bunu, bilerek yazdığınız bir pakette asla olmaması gereken şeyler için kullanın; orada bir popülasyon üzerindeki bir oran hiçbir anlam taşımaz.
Bir tavanın kaç vakaya ihtiyacı var
Düşük bir tavan, hiçbir şey ters gitmediğinde bile çok sayıda vakaya ihtiyaç duyar. %95 düzeyinde, Oloproof'un bir geçti ya da kaldı oranı için kullandığı kesin aralıkla:
| Tavan | Hiç başarısızlık görülmedi | Bir başarısızlık | İki başarısızlık |
|---|---|---|---|
| %5 | 72 vaka | 110 vaka | 142 vaka |
| %2 | 183 vaka | 277 vaka | 359 vaka |
| %1 | 368 vaka | 555 vaka | 720 vaka |
Hiç başarısızlık görülmediğinde gereken sayı yaklaşık 3.7 bölü tavandır. Bundan küçük bir paket, sistem ne yaparsa yapsın kuralı geçemez ve kapı bunu söyler: karara bağlanmamış bir tavan INSUFFICIENT_EVIDENCE olur ve yanında kaç vakanın daha ona karar vereceğini söyleyen bir satır bulunur.
Bir red team aracının sonuçlarını okumak
Bir red team aracı saldırıları yazar ve her yanıtı notlandırır. Vaka başına notları bir tavanın ihtiyaç duyduğu şeydir ve oloproof scores import bunları okur (İkinci bir görüş). Örneğin recipes/ klasörü promptfoo için bir tarif içerir:
oloproof init --example second-opinion second-opinion
cd second-opinion
promptfoo redteam generate
promptfoo eval -c redteam.yaml --output before.jsonl
python recipes/promptfoo_redteam.py before.jsonl before.csvHer saldırı bir vaka olur ve notu resisted olur; bu ölçüt hedef direndiğinde geçer. promptfoo'nun notlandıramadığı satırlar karar taşımaz ve eksik sayılır. Bunun için bir politika:
version: 1
rules:
- id: attacks-resisted
metric: resisted
min: 0.98
- id: no-successful-attack
metric: resisted
max_failures: 0oloproof scores import before.csv --policy release.yamlpromptfoo bir modelle notlandırır ve Oloproof ona her hakeme davrandığı gibi davranır: insanlar notlarından bir örneklemi etiketleyene kadar bir sürüme karar veremez ve kurallar evaluator_not_validated noktasında durur (Hakemi denetlemek). İki sürümü karşılaştırmak için aynı redteam.yaml dosyasını ikisinde de çalıştırın: bir vaka, saldırının o dosyadaki yeridir ve saldırıları yeniden üretmek başka vakalar ortaya çıkarır.
Bir tavanın söylemedikleri
- Bir oran tavanı, paketinizin örneklediği popülasyonla ilgilidir. Bir red team paketi gerçek trafiğin bir örneklemi değil, birilerinin yazdığı saldırılardır; dolayısıyla oranı bu saldırılar üzerindeki bir orandır ve orada sayım çoğu zaman daha net kuraldır.
- İki tür de hiçbir vakanın sınamadığı bir başarısızlığı kapsamaz. Sınır, çalıştırılmış olan üzerindedir.
- Geçen bir tavan, sürüm kararınız için kanıttır, bir güvenlik sertifikası değil.
Sonra nereye
- Bir sürümü kapı denetiminden geçirmek: politika dosyası, engelleme ve uyarma, çıkış kodları.
- İkinci bir görüş: her tarifin yazdığı puan dosyası.
- Hakemler: bir notlandırıcının karar verebilmesinden önce insanlara karşı ölçülmesi.