Como se presenta en el Taller de Oxford sobre la seguridad de los sistemas de IA, incluidas las sesiones de demostración y los tutoriales

Pytector es un paquete de Python diseñado para detectar inyección rápida en entradas de texto utilizando modelos de aprendizaje automático de última generación de la biblioteca Transformers. Además, Pytector puede integrarse con la API de Groq Llama Guard para una detección de seguridad de contenido mejorada, clasificando contenido inseguro basado en códigos de peligro específicos.
¡Pytector sigue siendo un prototipo y no puede proporcionar protección del 100% contra ataques de inyección inmediata!
Groq's Llama-Guard-3-8b puede detectar tipos específicos de contenido inseguro basado en los siguientes códigos:
| Código | Categoría de peligro |
|---|---|
| S1 | Crímenes violentos |
| S2 | Crímenes no violentos |
| S3 | Crímenes relacionados con el sexo |
| S4 | Explotación sexual infantil |
| S5 | Difamación |
| S6 | Consejo especializado |
| S7 | Privacidad |
| S8 | Propiedad intelectual |
| S9 | Armas indiscriminadas |
| S10 | Odiar |
| S11 | Suicidio y autolesiones |
| S12 | Contenido sexual |
| S13 | Elecciones |
| S14 | Abuso de intérpretes de código |
Se puede encontrar más información en la tarjeta modelo [Llama-Guard-3-8b] (Guardia de Llama).
Instale Pytector a través de PIP:
pip install pytectorAlternativamente, puede instalar Pytector directamente desde el código fuente:
git clone https://github.com/MaxMLang/pytector.git
cd pytector
pip install . Para usar Pytector, importe la clase PromptInjectionDetector y cree una instancia con un modelo predefinido o Groq's Llama Guard para la seguridad del contenido.
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" ) Para habilitar la API de Groq, establezca use_groq=True y proporcione un 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) Inicializa una nueva instancia del PromptInjectionDetector .
model_name_or_url : una cadena que especifica el modelo para usar. Puede ser una clave de modelos predefinidos o una URL válida a un modelo personalizado.default_threshold : umbral de probabilidad por encima del cual se considera un aviso una inyección.use_groq : Establezca en True para habilitar la API de guardia de Llama de Groq para la detección.api_key : requerido si use_groq=True para autenticar con la API de Groq.detect_injection(self, prompt, threshold=None)Evalúa si un mensaje de texto es un ataque de inyección inmediata que usa un modelo local.
(is_injected, probability) .detect_injection_api(self, prompt, provider="groq", api_key=None, model="llama-guard-3-8b")Utiliza la API de Groq para evaluar un mensaje para contenido inseguro.
(is_unsafe, hazard_code) .report_injection_status(self, prompt, threshold=None, provider="local")Informa si un aviso es una inyección potencial o contiene contenido inseguro.
¡Las contribuciones son bienvenidas! Lea nuestra guía de contribución para obtener detalles sobre nuestro código de conducta y el proceso para enviar solicitudes de extracción.
Este proyecto tiene licencia bajo la licencia MIT. Consulte el archivo de licencia para obtener más detalles.
Para obtener información más detallada, consulte el directorio DOCS.