abs_text_attack.core.interfaces package
Submodules
abs_text_attack.core.interfaces.attack module
- class abs_text_attack.core.interfaces.attack.Attack(goal_function: GoalFunction, constraints: List[Constraint | PreTransformationConstraint], transformation: Transformation, search_method: SearchMethod, transformation_cache_size=32768, constraint_cache_size=32768)[исходный код]
Базовые классы:
AttackAbstract class for creating attack. Takes all needed components of textattack Attack class. Via it’s methods we can theoretically tinker with parent class fields/methods or create a new ones. # Добавить метод get_attack_info() с информацией о типе атаки по MITRE ATLAS. # Нужен метод validate() для проверки совместимости атаки с моделью.
- abstractmethod static build(model_wrapper, **kwargs)[исходный код]
abs_text_attack.core.interfaces.dataset module
- class abs_text_attack.core.interfaces.dataset.DatasetFactory[исходный код]
Базовые классы:
objectClass that acts like a Factory for constructing TextAttack dataset.
- static to_ta_dataset(dataset, text_column='text', label_column='label')[исходный код]
Function that converts user dataset to TextAttack dataset
- Параметры:
dataset (HFdataset -- str of hugging) – csv || (HFdataset, split), where
now (csv -- path to csv file. !!!For)
headers!!! (let's assume that it should contain first column with texts and second column with labels no)
(HFdataset
two (split) -- tuple of)
dataset
HFdataset (split -- train/val/test split of)
abs_text_attack.core.interfaces.model module
- class abs_text_attack.core.interfaces.model.HFModel(model, model_type='AutoModelForSequenceClassification', tokenizer=None)[исходный код]
Базовые классы:
PyTorchModelWrapperКласс-обертка для моделей с HuggingFace. На данный момент обернуты: - AutoModelForSequenceClassification. Всегда идет вместе с токенизатором, базовый класс для моделей из коробки с HF - pipeline. Токенизатор встроенный, также идет как базовый класс для моделей из коробки с HF - SetFitModel. Модели few-shot обучения. Основаны на SentenceTransformers, но образуют свой класс.
- class abs_text_attack.core.interfaces.model.SklearnModel(model, vectorizer)[исходный код]
Базовые классы:
ModelWrapperClass designed specifically for handling sklearn models. Vectorizer should implement transform and model should implement „predict_proba“.
- class abs_text_attack.core.interfaces.model.TorchModel[исходный код]
Базовые классы:
ModelWrapperClass designed specifically for handling torch models
- tokenize()[исходный код]
Helper method that tokenizes input strings :param inputs: list of input strings :type inputs: list[str] :param strip_prefix: If True, we strip auxiliary characters added to tokens as prefixes (e.g. «##» for BERT, «Ġ» for RoBERTa) :type strip_prefix: bool
- Результат:
List of list of tokens as strings
- Тип результата:
tokens (list[list[str]])
abs_text_attack.core.interfaces.target module
- class abs_text_attack.core.interfaces.target.Target[исходный код]
Базовые классы:
ABCAbstract base class for target class. # Ключевые требования: # 1. Метод оценки успешности атаки по стандартизированным метрикам # 2. Генерация отчетов в нескольких форматах (для CI artifacts) # 3. Классификация уязвимостей по MITRE ATLAS таксономии
- abstractmethod build()[исходный код]