Çıktı Filtreleme (Llama Guard, NeMo)
Yayınlanmadan önce toksik içeriği, PII sızıntılarını ve politika ihlallerini yakalamak için çıktılar üzerinde daha küçük bir koruma modeli çalıştırın.
Çıktı Filtreleme (Llama Guard, NeMo), CoddyKit'te ücretsiz bir AI Agents dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, AI Agents öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. AI Agents kursu toplamda 4 dersten oluşur.
Çıktılar Neden Filtrelenmeli?
Girdiler güvenli olsa bile modeller şunları üretebilir:
- Kişisel veri sızıntıları
- Nefret söylemi / taciz
- Kendine zarar verme içeriği
- Kullanıcı amacını ihlal eden araç çağrıları
Çıktı filtresi, kullanıcı herhangi bir şey görmeden önceki son savunma hattınızdır.
Llama Guard
Meta'nın güvenlik sınıflandırıcısı — açık ağırlıklar, çok hızlı:
from transformers import AutoTokenizer, AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained('meta-llama/Llama-Guard-3-8B')
# Outputs 'safe' or 'unsafe' with category.NeMo Guardrails
NVIDIA NeMo Guardrails — LLM'leri denetimlerle saran Python çatısı:
# pip install nemoguardrails
from nemoguardrails import RailsConfig, LLMRails
config = RailsConfig.from_path('./config')
rails = LLMRails(config)
response = rails.generate(messages=[{'role': 'user', 'content': '...'}])Guardrails AI
guardrails-ai, doğrulama/korumalar üzerine odaklanan Python kütüphanesidir. XML tabanlı "rayları" ve reAsk onarım döngülerini destekler.
Anthropic Anayasal Sınıflandırıcısı
Anthropic, Claude'daki güvenlik eğitimine ek olarak bir sınıflandırıcı yayımladı. Herhangi bir model çıktısını sonradan filtrelemek için kullanışlıdır.
Özel LLM Tabanlı Filtre
En ucuz seçenek, çıktıları tarayan daha küçük bir LLM kullanmaktır:
FILTER_PROMPT = '''
Analyse the output. Return JSON: {safe: true/false, reason: str, categories: list}
Unsafe categories: PII leak, harmful instructions, copyright violation, prompt-injection echo.
Output:
{output}
'''
result = guard_llm.invoke(FILTER_PROMPT.format(output=text))Düzenli İfade / Kural Filtreleri
Belirli kalıplar için düzenli ifadeler hızlı ve güvenilirdir:
import re
EMAIL_RE = re.compile(r'[\w\.-]+@[\w\.-]+')
SSN_RE = re.compile(r'\b\d{3}-\d{2}-\d{4}\b')
def has_pii(text):
return bool(EMAIL_RE.search(text) or SSN_RE.search(text))
# --- demo ---
samples = ['Contact me at jane@example.com', 'My SSN is 123-45-6789', 'No PII in this sentence']
for s in samples:
print(f'{s!r} -> has_pii={has_pii(s)}')
PII Maskeleme
Yalnızca engellemeyin — bazen PII'yi maskeleyip geri kalan içeriğe izin verin:
def redact(text):
text = EMAIL_RE.sub('[email]', text)
text = SSN_RE.sub('[ssn]', text)
return textİki Katmanlı Filtre
Önce hızlı kurallar, ardından maliyetli LLM:
def filter_output(text):
if has_obvious_pii(text):
return BLOCKED
result = guard_llm.invoke(...)
return resultAkış Çıktıları
Akışla iletilen çıktılar için SENTENCE-BY-SENTENCE filtreleyin:
buf = ''
for token in stream:
buf += token
if buf.endswith(('. ', '! ', '? ', '\n')):
if not safe(buf):
stream.close()
emit_to_client('[content filtered]')
break
emit_to_client(buf)
buf = ''Yanlış Pozitifler ve Yanlış Negatifler
Doğru dengeyi sağlayacak şekilde ayarlayın:
- Yüksek riskli alanlarda (tıp, finans): yanlış pozitiflere yönelin (daha fazlasını engelleyin)
- Yaratıcı/eğlence içeriklerinde: yanlış negatiflere yönelin (daha azını engelleyin)
Filtre Günlükleri Hassastır
Filtre günlükleri engellenen içeriği barındırır. Bunları kısa yaşam süreleriyle güvenli biçimde saklayın:
log.warning('Blocked output', extra={'reason': r, 'category': c}, sanitize_payload=True)Kullanıcıyı Bilgilendirin
Engellediğinizde, kullanıcının tekrar tekrar deneme yapmaması için nedenini açıklayın:
def handle_privacy_request():
return 'I cannot share that information for privacy reasons.'
print(handle_privacy_request())Çok Katmanlı Filtre
Düzenli ifadeler ile LLM tabanlı filtrelemeyi neden birleştirmelisiniz?
Özet
Llama Guard / NeMo / özel LLM filtresi + düzenli ifade kuralları kullanın. İki katman oluşturun. Mümkün olduğunda maskeleyin. İçerik engellendiğinde kullanıcıya her zaman bilgi verin.
Sıkça Sorulan Sorular
“Çıktı Filtreleme (Llama Guard, NeMo)” dersi ücretsiz mi?
Evet — “Çıktı Filtreleme (Llama Guard, NeMo)” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve AI Agents kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. AI Agents kursu toplamda 4 dersten oluşur.
“Çıktı Filtreleme (Llama Guard, NeMo)” dersinde ne öğreneceğim?
Yayınlanmadan önce toksik içeriği, PII sızıntılarını ve politika ihlallerini yakalamak için çıktılar üzerinde daha küçük bir koruma modeli çalıştırın. AI Agents ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
AI Agents öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te AI Agents, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“Çıktı Filtreleme (Llama Guard, NeMo)” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu AI Agents dersinde kod yazıp çalıştırabilir miyim?
Evet. Her AI Agents dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- İstem Enjeksiyonuna Karşı Savunmalar
- Çıktı Filtreleme (Llama Guard, NeMo)
- Kod Aracıları için Yalıtılmış Çalıştırma
- Araçlarda Erişim Denetimi