Bases: HuggingFace[dict[str, Any], dict[str, Any], bool, None, float]
Prompt injection detection encoder based model.
For more information, please see the model card:
Source code in src/any_guardrail/guardrails/injec_guard/injec_guard.py
| class InjecGuard(HuggingFace[dict[str, Any], dict[str, Any], bool, None, float]):
"""Prompt injection detection encoder based model.
For more information, please see the model card:
- [InjecGuard](https://huggingface.co/leolee99/InjecGuard).
"""
SUPPORTED_MODELS: ClassVar = ["leolee99/InjecGuard"]
def _load_model(self) -> None:
from transformers import AutoModelForSequenceClassification, AutoTokenizer
self.model = AutoModelForSequenceClassification.from_pretrained(self.model_id, trust_remote_code=True)
self.tokenizer = AutoTokenizer.from_pretrained(self.model_id)
def _post_processing(
self, model_outputs: GuardrailInferenceOutput[dict[str, Any]]
) -> GuardrailOutput[bool, None, float]:
return _match_injection_label(model_outputs, INJECGUARD_LABEL, self.model.config.id2label)
|