بنية حواجز الإنتاج

اختيار مكدس الحواجز المناسب

3 دقيقة للقراءة

مع توفر العديد من أدوات الحواجز—NeMo Guardrails، Guardrails AI، LlamaGuard، ShieldGemma، Presidio—كيف تختار التركيبة المناسبة؟ يوفر هذا الدرس إطار قرار بناءً على متطلباتك.

مصفوفة مقارنة الأدوات

الأداة النوع التأخير الدقة التخصيص استضافة ذاتية
NeMo Guardrails تحكم تدفق + LLM 200-500 مللي ثانية عالية عالية جداً (Colang) نعم
Guardrails AI التحقق من المخطط 10-50 مللي ثانية متغيرة عالية (Pydantic) نعم
LlamaGuard 3 8B مصنف سلامة 100-300 مللي ثانية عالية متوسطة نعم
ShieldGemma 27B مصنف سلامة 300-800 مللي ثانية الأعلى منخفضة نعم
Presidio اكتشاف PII 20-50 مللي ثانية عالية عالية نعم
OpenAI Moderation مرشح محتوى 50-100 مللي ثانية جيدة لا شيء API فقط

إطار القرار

حسب حالة الاستخدام

┌─────────────────────────────────────────────────────────────────────┐
│                     دليل اختيار الحواجز                              │
├─────────────────────────────────────────────────────────────────────┤
│                                                                      │
│  تحتاج التحقق من صحة المخرجات المنظمة؟                               │
│  ├── نعم → Guardrails AI (مخططات Pydantic)                          │
│  └── لا ↓                                                           │
│                                                                      │
│  تحتاج التحكم في تدفق المحادثة؟                                      │
│  ├── نعم → NeMo Guardrails (قواعد Colang)                           │
│  └── لا ↓                                                           │
│                                                                      │
│  تحتاج حماية PII؟                                                   │
│  ├── نعم → Presidio + اختيارك لمصنف السلامة                         │
│  └── لا ↓                                                           │
│                                                                      │
│  تحتاج تصنيف سلامة المحتوى؟                                         │
│  ├── أعلى دقة → ShieldGemma 27B                                     │
│  ├── سريع + دقيق → LlamaGuard 3 8B                                  │
│  ├── فائق السرعة → LlamaGuard 3 1B أو toxic-bert                    │
│  └── API بسيط → OpenAI Moderation                                   │
│                                                                      │
└─────────────────────────────────────────────────────────────────────┘

حسب متطلبات الصناعة

الصناعة المخاوف الرئيسية المكدس الموصى
الرعاية الصحية PII، الدقة الطبية Presidio + LlamaGuard + NeMo (التحقق من الحقائق)
المالية PII، الامتثال، الاحتيال Presidio + Guardrails AI (مخطط) + LlamaGuard
تطبيقات المستهلك السمية، السرعة toxic-bert → LlamaGuard (تصعيد)
المؤسسات الداخلية تسرب البيانات، الامتثال Presidio + NeMo Guardrails
التعليم محتوى مناسب للعمر ShieldGemma + NeMo (التحكم في الموضوع)

بناء مكدسك

المثال 1: مؤسسة عالية الأمان

from typing import List
from dataclasses import dataclass

@dataclass
class EnterpriseStack:
    """مكدس حواجز عالي الأمان للمؤسسات."""

    layers = [
        # الطبقة 1: التحقق السريع من المدخلات
        ("blocklist", BlocklistFilter()),

        # الطبقة 2: حماية PII (مطلوبة للمؤسسات)
        ("presidio", PresidioFilter(
            entities=["PERSON", "EMAIL", "PHONE", "CREDIT_CARD", "SSN"],
            action="mask"
        )),

        # الطبقة 3: تصنيف السلامة
        ("llamaguard", LlamaGuard8B(
            threshold=0.7,
            categories=["violence", "hate", "self_harm"]
        )),

        # الطبقة 4: التحكم في الحوار
        ("nemo", NeMoGuardrails(
            config_path="./config",
            enable_fact_checking=True
        )),

        # الطبقة 5: التحقق من المخرجات
        ("guardrails_ai", GuardrailsAI(
            schema=ResponseSchema,
            on_fail="reask"
        )),
    ]

المثال 2: تطبيق دردشة للمستهلك

@dataclass
class ConsumerStack:
    """حواجز سريعة وسهلة الاستخدام لتطبيقات المستهلك."""

    layers = [
        # الطبقة 1: سمية فائقة السرعة
        ("toxic_bert", ToxicBertClassifier(
            threshold=0.8,
            escalate_threshold=0.5
        )),

        # الطبقة 2: تصعيد فقط للحالات غير المؤكدة
        ("llamaguard_escalation", LlamaGuard1B(
            only_on_escalation=True
        )),

        # الطبقة 3: فحص مخرجات بسيط
        ("output_toxic", ToxicBertClassifier(
            check_output=True
        )),
    ]

    # هدف التأخير الإجمالي: < 100 مللي ثانية لـ 90% من الطلبات

المثال 3: تطبيق RAG

@dataclass
class RAGStack:
    """حواجز للتوليد المعزز بالاسترجاع."""

    input_layers = [
        ("blocklist", BlocklistFilter()),
        ("injection", InjectionClassifier()),
    ]

    retrieval_layers = [
        # فحص القطع المسترجعة
        ("chunk_relevance", RelevanceFilter(min_score=0.7)),
        ("chunk_toxicity", ToxicityFilter()),
    ]

    output_layers = [
        ("hallucination", HallucinationDetector(
            compare_to_sources=True
        )),
        ("citation", CitationEnforcer()),
        ("pii", PresidioFilter(action="block")),
    ]

اعتبارات التكلفة

النهج تكلفة الحوسبة تكلفة API ملاحظات
LlamaGuard مستضاف ذاتياً يتطلب GPU لا شيء الأفضل للحجم العالي
OpenAI Moderation API لا شيء $0.0001/طلب بسيط، لا GPU
ShieldGemma على السحابة ~$0.01/طلب لا شيء دقة عالية
هجين (محلي سريع + API) GPU منخفض منخفضة أفضل الاثنين
# نهج هجين محسن التكلفة
async def cost_optimized_check(user_input: str):
    # فحص محلي مجاني أولاً
    local_result = await toxic_bert.check(user_input)

    if local_result.confidence > 0.9:
        return local_result  # ثقة عالية = لا استدعاء API

    # تصعيد فقط الحالات غير المؤكدة لـ API المدفوع
    return await openai_moderation.check(user_input)

قائمة التحقق من صحة المكدس

قبل نشر مكدس الحواجز:

  • التغطية: هل يعالج المكدس جميع فئات التهديدات؟
  • التأخير: التأخير الإجمالي ضمن الميزانية (< 500 مللي ثانية نموذجي)؟
  • الاحتياطيات: ماذا يحدث عند فشل كل مكون؟
  • المراقبة: هل يمكنك مراقبة أداء كل طبقة؟
  • التحديثات: كيف ستحدث قوائم الحظر والنماذج؟
  • الاختبار: هل لديك حالات اختبار عدائية؟

النقطة الرئيسية: أفضل مكدس حواجز يجمع بين أدوات متكاملة—مرشحات محلية سريعة للحالات الواضحة، مصنفات دقيقة للقرارات الدقيقة، والتحقق من المخطط للمخرجات المنظمة.

الوحدة التالية: تعمق في تصفية المدخلات على نطاق واسع مع Presidio واكتشاف الحقن. :::

اختبار

الوحدة 1: بنية حواجز الإنتاج

خذ الاختبار