تصفية المخرجات (Llama Guard وNeMo)
شغّل نموذج حماية أصغر على المخرجات لاكتشاف السمية وتسريبات معلومات التعريف الشخصية ومخالفات السياسات قبل نشرها.
تصفية المخرجات (Llama Guard وNeMo) درس مجاني في AI Agents على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في AI Agents، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة AI Agents 4 دروس في المجموع.
لماذا نُصفي المخرجات؟
حتى مع المدخلات الآمنة، قد تنتج النماذج:
- تسريب البيانات الشخصية
- خطاب كراهية أو مضايقة
- محتوى متعلق بإيذاء النفس
- استدعاءات أدوات تنتهك نية المستخدم
تُعد تصفية المخرجات خط دفاعكم الأخير قبل أن يرى المستخدم أي شيء.
Llama Guard
مصنّف الأمان من Meta — بأوزان مفتوحة وسرعة عالية:
from transformers import AutoTokenizer, AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained('meta-llama/Llama-Guard-3-8B')
# Outputs 'safe' or 'unsafe' with category.NeMo Guardrails
NeMo Guardrails من NVIDIA — إطار عمل Python يحيط نماذج LLM بفحوصات:
# 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 هي مكتبة Python تركز على التحقق ووسائل الحماية. وتدعم «rails» المستندة إلى XML وحلقات الإصلاح reAsk.
Anthropic Constitutional Classifier
أصدرت Anthropic مصنّفًا، إضافةً إلى تدريب الأمان في Claude. وهو مفيد لتصفية مخرجات أي نموذج بعد إنتاجها.
مرشح مخصص قائم على LLM
الخيار الأقل تكلفة: نموذج LLM أصغر يفحص المخرجات:
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))مرشحات Regex والقواعد
بالنسبة إلى أنماط محددة، تكون regex سريعة وموثوقة:
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
لا تحظروا المحتوى فحسب — ففي بعض الأحيان نقّحوا البيانات الحساسة واسمحوا بمرور بقية المحتوى:
def redact(text):
text = EMAIL_RE.sub('[email]', text)
text = SSN_RE.sub('[ssn]', text)
return textمرشح من طبقتين
طبّقوا القواعد السريعة أولًا، ثم نموذج LLM الأعلى تكلفة:
def filter_output(text):
if has_obvious_pii(text):
return BLOCKED
result = guard_llm.invoke(...)
return resultالمخرجات المتدفقة
بالنسبة إلى المخرجات المتدفقة، صفّوا المحتوى جُمْلَةً جُمْلَةً:
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 = ''الإيجابيات الكاذبة مقابل السلبيات الكاذبة
اضبطوا النظام لتحقيق التوازن المناسب:
- في المجالات عالية المخاطر (الطبية والمالية): رجّحوا الإيجابيات الكاذبة، أي احظروا المزيد
- في المجالات الإبداعية والترفيهية: رجّحوا السلبيات الكاذبة، أي احظروا قدرًا أقل
سجلات التصفية حساسة
تحتوي سجلات التصفية على المحتوى المحظور. خزّنوها بأمان مع مدد صلاحية قصيرة:
log.warning('Blocked output', extra={'reason': r, 'category': c}, sanitize_payload=True)ثقفوا المستخدم
عند حظر المحتوى، أخبروا المستخدم بالسبب حتى لا يكرر محاولات الإرسال:
def handle_privacy_request():
return 'I cannot share that information for privacy reasons.'
print(handle_privacy_request())مرشح متعدد الطبقات
لماذا نجمع بين regex والتصفية القائمة على LLM؟
مراجعة
Llama Guard أو NeMo أو مرشح LLM مخصص + قواعد regex. طبقتان. نقّحوا البيانات متى أمكن. أخبروا المستخدم دائمًا عند حظر المحتوى.
الأسئلة الشائعة
هل درس «تصفية المخرجات (Llama Guard وNeMo)» مجاني؟
نعم — نص درس «تصفية المخرجات (Llama Guard وNeMo)» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة AI Agents، انتقل إلى CoddyKit PRO. تتضمن دورة AI Agents 4 دروس في المجموع.
ماذا ستتعلم في «تصفية المخرجات (Llama Guard وNeMo)»؟
شغّل نموذج حماية أصغر على المخرجات لاكتشاف السمية وتسريبات معلومات التعريف الشخصية ومخالفات السياسات قبل نشرها. تتمرن على AI Agents مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ AI Agents؟
لا تُشترط خبرة سابقة. AI Agents على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «تصفية المخرجات (Llama Guard وNeMo)»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس AI Agents هذا؟
نعم. كل درس في AI Agents يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- دفاعات ضد حقن المطالبات
- تصفية المخرجات (Llama Guard وNeMo)
- التنفيذ المعزول لوكلاء الشيفرة
- التحكم في الوصول إلى الأدوات