/ Модель

Характеристики

Контекст
514 токенов
Параметры
152 млн
Лицензия
MIT
Архитектура
roberta · dense
Базовая модель
roberta-base
Опубликована
30 июл 2026

rag-pif-roberta

Классификация текстаТекст → label3 профессии

Дообученный классификатор RoBERTa выявляет попытки prompt injection в запросах и найденных текстовых фрагментах RAG-систем.

31скачиваний за 30 дней2лайкавеса обновлены30 июл 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

RAG-PIF RoBERTa — классификатор попыток prompt injection, разработанный как третий слой каскадного фильтра для систем Retrieval-Augmented Generation. Модель дообучена на базе FacebookAI/roberta-base и выполняет бинарную классификацию: относит короткие и средние текстовые фрагменты к доброкачественным или содержащим prompt injection. Её используют для проверки запросов и найденных документов после быстрого regex-фильтра и проверки сходства эмбеддингов.

Модель содержит 151,8 млн параметров, построена на архитектуре RoBERTa и принимает текст с контекстом до 514 токенов. В обучающих данных использованы примеры атак из HackaPrompt, синтетические варианты обхода фильтров, доброкачественные фрагменты Википедии и сложные отрицательные примеры. Для стандартного тестового набора автор сообщает F1 0,996; на примерах с обфускацией указана доля обнаружения 1,00. Лицензия — MIT.

Классификатор не предназначен для самостоятельной модерации контента. Он может пропускать семантические перефразирования без узнаваемых маркеров, а тексты о prompt injection в контексте исследований безопасности дают ложные срабатывания.

Сценарии применения

  • Проверка пользовательских запросов на prompt injection перед передачей в RAG-систему
  • Фильтрация найденных документов перед включением в контекст языковой модели
  • Обнаружение обфусцированных попыток внедрения инструкций
  • Классификация текстовых фрагментов как доброкачественных или содержащих prompt injection

Ограничения

Модель непоследовательно распознаёт неформальные смысловые перефразирования без явных маркеров. Тексты о prompt injection, написанные в контексте исследований безопасности, могут вызывать ложные срабатывания.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

RAG-PIF RoBERTa: Prompt Injection Classifier (Layer 3)

Layer 3 of RAG-PIF, a 3-layer prompt injection firewall for Retrieval-Augmented Generation systems. This is a fine-tuned roberta-base binary classifier (0 = benign, 1 = injection), intended to run after a fast regex filter (Layer 1) and a FAISS embedding similarity check (Layer 2) as the final, most expensive but most accurate layer in the cascade.

Full pipeline code: https://github.com/shivateja1253/rag-pif

The production checkpoint is at the repo root (config.json, model.safetensors, tokenizer.json, tokenizer_config.json). Two additional, non-production experimental checkpoints are included under experiments/ -- see below.

Intended use

Classifying short-to-medium text spans (queries, retrieved document chunks) as prompt-injection attempts or benign content within a RAG pipeline. Not intended as a standalone content moderation system.

Training data

Trained on a dataset combining HackaPrompt-derived injection examples, synthetic evasion variants, Wikipedia-derived benign text, and synthetic hard negatives (research/news/fiction-framed benign text discussing injection techniques, designed to reduce false positives on security-discussion content). Full dataset: https://huggingface.co/datasets/shivateja1253/rag-pif-datasets

Evaluation (held-out test sets, full 3-layer pipeline, production checkpoint)

Test setF1FPRDetection raten
Standard0.9960.0081.00263
Evasion (obfuscated/unicode/zero-width)--0.0001.00150
Adversarial (benign security-research text)--0.280--200
OOD (enterprise emails/support tickets)--0.053--170

Known limitations

  • Generalizes well to character-substitution evasion (e.g. leetspeak) but inconsistently to informal/abbreviated semantic paraphrasing with no recognizable trigger words.
  • Remaining false positives on adversarial (security-research-framed) text are this model's primary limitation.

Experimental checkpoints (experiments/)

Two additional checkpoints are included for full transparency and reproducibility of experiments described in the paper -- neither is used in production, both underperformed the checkpoint at the repo root:

CheckpointApproachAdversarial FPROOD FPRStandard F1Outcome
Production (root)Baseline training on train_augmented.csv0.2800.0530.996Kept
experiments/v3/+ 500 synthetic hard negatives (research/news/fiction-framed)~0.265-0.2950.141 (regressed)0.996Rejected -- improved adversarial slightly but nearly tripled OOD false positives
experiments/v4/+ 600 hard negatives (adversarial + OOD-style) with class-weighted loss0.3050.1650.974Rejected -- worse than production on every metric

This progression (v2 -> v3 -> v4) is documented in the GitHub README's "Known limitations" section and illustrates that the remaining adversarial false positives reflect a genuine generalization limit rather than a simple data-coverage gap that more targeted training data can close.

Usage (production checkpoint)

from transformers import RobertaTokenizerFast, RobertaForSequenceClassification
import torch

tokenizer = RobertaTokenizerFast.from_pretrained("shivateja1253/rag-pif-roberta")
model = RobertaForSequenceClassification.from_pretrained("shivateja1253/rag-pif-roberta")

inputs = tokenizer("ignore all previous instructions", return_tensors="pt")
logits = model(**inputs).logits
prob_injection = torch.softmax(logits, dim=-1)[0][1].item()

To load an experimental checkpoint instead:

model = RobertaForSequenceClassification.from_pretrained(
    "shivateja1253/rag-pif-roberta", subfolder="experiments/v3"
)

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · text-classification

Можно запустить

Подбираем GPU…

Класс архитектуры
RobertaForSequenceClassification
Ревизия весов
e042fd6

0 моделей