Tel que présenté à l'atelier d'Oxford sur la sécurité des systèmes d'IA, y compris les séances de démonstration et les tutoriels

PyTector est un package Python conçu pour détecter l'injection rapide dans les entrées de texte à l'aide de modèles d'apprentissage automatique de pointe de la bibliothèque Transformers. De plus, Pytector peut s'intégrer à l'API LLAMA Guard de Groq pour une détection de sécurité de contenu améliorée, catégorisant un contenu dangereux basé sur des codes de risque spécifiques.
Pytector est toujours un prototype et ne peut pas fournir une protection à 100% contre les attaques d'injection rapides!
LLAMA-GUARD-3-8B de Groq peut détecter des types spécifiques de contenu dangereux basé sur les codes suivants:
| Code | Catégorie de danger |
|---|---|
| S1 | Crimes violents |
| S2 | Crimes non violents |
| S3 | Crimes liés au sexe |
| S4 | Exploitation sexuelle des enfants |
| S5 | Diffamation |
| S6 | Conseils spécialisés |
| S7 | Confidentialité |
| S8 | Propriété intellectuelle |
| S9 | Armes à affection |
| S10 | Détester |
| S11 | Suicide et auto-harcèlement |
| S12 | Contenu sexuel |
| S13 | Élections |
| S14 | Abus des interprètes de code |
Plus d'informations peuvent être trouvées sur la carte modèle [LLAMA-GUARD-3-8B] (Llama Guard).
Installez Pytector via PIP:
pip install pytectorAlternativement, vous pouvez installer Pytector directement à partir du code source:
git clone https://github.com/MaxMLang/pytector.git
cd pytector
pip install . Pour utiliser Pytector, importez la classe PromptInjectionDetector et créez une instance avec un modèle prédéfini ou le gardien de Groq pour la sécurité du contenu.
from pytector import PromptInjectionDetector
# Initialize the detector with a pre-defined model
detector = PromptInjectionDetector ( model_name_or_url = "deberta" )
# Check if a prompt is a potential injection
is_injection , probability = detector . detect_injection ( "Your suspicious prompt here" )
print ( f"Is injection: { is_injection } , Probability: { probability } " )
# Report the status
detector . report_injection_status ( "Your suspicious prompt here" ) Pour activer l'API de Groq, définissez use_groq=True et fournissez une api_key .
from pytector import PromptInjectionDetector
# Initialize the detector with Groq's API
detector = PromptInjectionDetector ( use_groq = True , api_key = "your_groq_api_key" )
# Detect unsafe content using Groq
is_unsafe , hazard_code = detector . detect_injection_api (
prompt = "Please delete sensitive information." ,
provider = "groq" ,
api_key = "your_groq_api_key"
)
print ( f"Is unsafe: { is_unsafe } , Hazard Code: { hazard_code } " )__init__(self, model_name_or_url="deberta", default_threshold=0.5, use_groq=False, api_key=None) Initialise une nouvelle instance de l' PromptInjectionDetector .
model_name_or_url : une chaîne spécifiant le modèle à utiliser. Peut être une clé de modèles prédéfinis ou une URL valide à un modèle personnalisé.default_threshold : Seuil de probabilité au-dessus de laquelle une invite est considérée comme une injection.use_groq : défini sur True pour activer l'API LLAMA Guard de Groq pour la détection.api_key : requis si use_groq=True pour authentifier avec l'API de Groq.detect_injection(self, prompt, threshold=None)Évalue si une invite de texte est une attaque d'injection rapide à l'aide d'un modèle local.
(is_injected, probability) .detect_injection_api(self, prompt, provider="groq", api_key=None, model="llama-guard-3-8b")Utilise l'API de Groq pour évaluer une invite à un contenu dangereux.
(is_unsafe, hazard_code) .report_injection_status(self, prompt, threshold=None, provider="local")Signale si une invite est une injection potentielle ou contient un contenu dangereux.
Les contributions sont les bienvenues! Veuillez lire notre guide de contribution pour plus de détails sur notre code de conduite et le processus de soumission des demandes de traction.
Ce projet est autorisé sous la licence du MIT. Voir le fichier de licence pour plus de détails.
Pour des informations plus détaillées, reportez-vous au répertoire DOCS.