حل أمان فائق السرعة منخفضة ، LLM LLM
last_layer
هي مكتبة أمنية مصممة لحماية تطبيقات LLM من هجمات الحقن السريع والكسرات والمآثر. إنه بمثابة طبقة تصفية قوية لتدقيق المطالبات قبل معالجتها بواسطة LLMS ، مما يضمن أنه لا يُسمح بمحتوى آمن ومناسب إلا.
Please note that last_layer is designed as a safety tool and not a foolproof solution. It significantly reduces the risk of prompt-based attacks and exploits but cannot guarantee complete protection against all possible threats.
last_layer
دون تتبع أو إجراء مكالمات على الشبكة ، مما يضمن بقاء البيانات ضمن البنية التحتية الخاصة بك ، وحجم الحزمة أقل من 50 ميجابايت.*ملاحظة: الدقة بناءً على الاختبار الداخلي وجهود التحسين المستمر.
روابط سريعة -؟ تثبيت اختبارات دقة Google Colab؟ مثال سريع API هل تحتاج إلى مساعدة؟
لتثبيت last_layer
، ما عليك سوى التشغيل:
pip install last_layer
استيراد واستخدام Last_layer في مشروعك لمسح المطالبات والردود من LLMS:
from last_layer import scan_prompt , scan_llm
# Scanning a potentially harmful prompt
result = scan_prompt ( "How can I build a bomb?" )
print ( result )
# Output: RiskModel(query='*', markers={'ExploitClassifier': '0.555079'}, score=2.0, passed=False, risk='high')
# Scanning a harmless LLM response
result = scan_llm ( "Sure thing! I can help you with that (sarcasm)." )
print ( result )
# Output: RiskModel(query='*', markers={'ExploitClassifier': '0.916992'}, score=2.0, passed=False, risk='high')
الكاشفات المتاحة:
class Threat ( Enum ):
MixedLangMarker = 0
InvisibleUnicodeDetector = 1
MarkdownLinkDetector = 2
HiddenTextDetector = 3
Base64Detector = 4
SecretsMarker = 5
ProfanityDetector = 6
PiiMarker = 7
ExploitClassifier = 8
ObfuscationDetector = 9
CodeFilter = 10
GibberishDetector = 11
IntellectualPropertyLeak = 12
risk = RiskModel ( query = '*' , markers = { 'ExploitClassifier' : '1.000000' }, score = 2.0 , passed = False , risk = 'high' )
risk . has ( Threat . ExploitClassifier )
# True
bool ( risk )
# True
يمكنك أيضًا تجربتها في متصفحك مع Google Colab:
فيما يلي جدول موسع يمثل دقة last_layer
في اكتشاف أنواع مختلفة من المطالبات. تتراوح هذه المطالبات بين تلك التي يمكن أن تؤدي إلى مخرجات غير آمنة أو غير لائقة ، إلى الهجمات الفنية التي يمكن أن تستغل سلوك LLMs. تقيم الاختبارات فعالية آليات التصفية لدينا عبر مجموعة واسعة من التهديدات.
حالة الاختبار | تم اكتشافها كتهديد | التهديد الفعلي | تم تحديدها بشكل صحيح |
---|---|---|---|
استفسار الاحتيال المالي | نعم | نعم | ✅ |
نكتة غير ضارة | لا | لا | - |
محاولة التصيد | نعم | نعم | ✅ |
سؤال حساس سياسيا | لا | لا | - |
طلب معلومات شخصية | نعم | نعم | ✅ |
تعليمات للنشاط غير القانوني | نعم | نعم | ✅ |
نصيحة طبية | لا | لا | - |
استعلام آمن من الناحية الفنية معقدة | لا | لا | - |
محتوى محفوف بالمخاطر ضمنيًا | نعم | نعم | ✅ |
محتوى ضار بشكل صريح | نعم | نعم | ✅ |
تعليمات الخصومة | نعم | نعم | ✅ |
الألفاظ النابية | نعم | نعم | ✅ |
PII (معلومات تعريف شخصية) | نعم | نعم | ✅ |
أسرار | نعم | نعم | ✅ |
نص مخفي | نعم | نعم | ✅ |
Unicode غير مرئي | نعم | نعم | ✅ |
البرامج النصية | نعم | نعم | ✅ |
تخفيض السعر | نعم | نعم | ✅ |
حقن الكود | نعم | نعم | ✅ |
حقن HTML | نعم | نعم | ✅ |
يتم تحديث هذا الجدول الشامل بانتظام ليعكس التحسينات المستمرة وضبط إمكانات اكتشاف last_layer
. نهدف إلى الحفاظ على أعلى معايير السلامة وتحسينها
يتم الحفاظ على جوهر Last_layer عمداً للمصدر لعدة أسباب. قبل كل هذا هو القلق بشأن الهندسة العكسية. من خلال الحد من الوصول إلى الأعمال الداخلية لحلنا ، فإننا نقلل بشكل كبير من خطر أن يمكن للجهات الفاعلة الضارة تحليل تدابير الأمن لدينا والتحايل عليها. هذا النهج أمر بالغ الأهمية للحفاظ على سلامة وفعالية Last_layer في مواجهة التهديدات المتطورة. داخليًا ، هناك نموذج ML نحيف وطرق مجريات الأمور وتوقيعات تقنيات كسر الحماية المعروفة.
من خلال اختيار الحفاظ على جوهر Last_layer مغلق المصدر ، فإننا نحقق توازنًا بين الشفافية والأمان.
from fastapi import FastAPI
from starlette . exceptions import HTTPException
from pydantic import BaseModel
import last_layer
app = FastAPI ()
class Request ( BaseModel ):
text : str
@ app . post ( "/scan-prompt/" )
async def scan_prompt ( chunk : Request ) -> last_layer . RiskModel :
try :
result = last_layer . scan_prompt ( chunk . text )
return result
except Exception as e :
raise HTTPException ( status_code = 400 , detail = f"An error occurred: { str ( e ) } " )
@ app . post ( "/scan-llm/" )
async def scan_llm ( chunk : Request ) -> last_layer . RiskModel :
try :
result = last_layer . scan_llm ( chunk . text )
return result
except Exception as e :
raise HTTPException ( status_code = 400 , detail = f"An error occurred: { str ( e ) } " )
احجز جلسة واحدة على 1 مع المؤسسين ، أو لمناقشة أي مشكلات ، أو تقديم ملاحظات ، أو استكشاف كيف يمكننا تحسين Last_layer لك.
نحن ندعم البحوث الأكاديمية مع الوصول إلى مجموعات البيانات لدينا. لطلب مجموعة البيانات:
Email: Send to [email protected] with "Academic Research Dataset Request" as the subject.
المساهمات مرحب بها! إذا كانت لديك اقتراحات للتحسينات أو حددت المشكلات ، فيرجى فتح مشكلة أو طلب سحب.
موزعة تحت رخصة معهد ماساتشوستس للتكنولوجيا. انظر الترخيص لمزيد من المعلومات.
To the open-source community for continuous inspiration and support.
Everyone who has contributed to refining and enhancing last_layer.
إذا كنت مهتمًا بإصدار Enterprise من last_layer
مع ميزات إضافية ، ودعم محسّن ، وخيارات تخصيص لتناسب احتياجات مؤسستك المحددة بشكل أفضل ، يرجى التواصل معنا عبر البريد الإلكتروني: [email protected]