Skip to content

InjecGuard

any_guardrail.guardrails.injec_guard.injec_guard

InjecGuard

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)