From 82a06fc8a64dcd04f8c466a54585871ab1fde74a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B0=D0=B7=D1=83=D1=80=20=D0=93=D1=80=D0=B5=D1=82?= =?UTF-8?q?=D0=B0=20=D0=95=D0=B2=D0=B3=D0=B5=D0=BD=D1=8C=D0=B5=D0=B2=D0=BD?= =?UTF-8?q?=D0=B0?= <gemazur_1@edu.hse.ru> Date: Thu, 27 Mar 2025 03:24:35 +0300 Subject: [PATCH] pereobuch2 --- .ipynb_checkpoints/ULTRAMegaOB-checkpoint.py | 14 +++++--------- ULTRAMegaOB.py | 14 +++++--------- 2 files changed, 10 insertions(+), 18 deletions(-) diff --git a/.ipynb_checkpoints/ULTRAMegaOB-checkpoint.py b/.ipynb_checkpoints/ULTRAMegaOB-checkpoint.py index 103a15b..66ae391 100644 --- a/.ipynb_checkpoints/ULTRAMegaOB-checkpoint.py +++ b/.ipynb_checkpoints/ULTRAMegaOB-checkpoint.py @@ -180,13 +180,12 @@ def compute_metrics(p): def augment_text(text, num_augments): """Генерация аугментированных примеров с проверками""" - - if len(text) > 1000: # Слишком длинные тексты плохо аугментируются + if len(text) > 1000: logger.debug(f"Текст слишком длинный для аугментации: {len(text)} символов") return [text] if not isinstance(text, str) or len(text.strip()) < 10: - return [] + return [text] text = text.replace('\n', ' ').strip() @@ -208,12 +207,9 @@ def augment_text(text, num_augments): # Обратный перевод if len(augmented) < num_augments: try: - # Определяем язык текста if any(cyr_char in text for cyr_char in 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя'): - # Для русских текстов tr_augs = translation_aug_ru.augment(text, n=num_augments-len(augmented)) else: - # Для английских/других текстов tr_augs = translation_aug.augment(text, n=num_augments-len(augmented)) if tr_augs: @@ -227,7 +223,7 @@ def augment_text(text, num_augments): logger.debug(f"Не удалось аугментировать текст: {text[:50]}...") return [text] - augmented = list(set(augmented)) # Удаление дубликатов + augmented = list(set(augmented)) return list(augmented)[:num_augments] if augmented else [text] except Exception as e: logger.error(f"Критическая ошибка аугментации: {str(e)}") @@ -259,8 +255,8 @@ def balance_attack_types(unsafe_data): augmented = subset.sample(n=num_augments, replace=True) augmented['prompt'] = augmented['prompt'].apply( - lambda x: (augs := augment_text(x, 1)) and augs[0] if augs else x - ) + lambda x: augment_text(x, 1)[0] # Просто берем первый элемент возвращаемого списка + ) # Логирование аугментированных примеров logger.info(f"\nАугментация для {attack_type}:") diff --git a/ULTRAMegaOB.py b/ULTRAMegaOB.py index 103a15b..66ae391 100644 --- a/ULTRAMegaOB.py +++ b/ULTRAMegaOB.py @@ -180,13 +180,12 @@ def compute_metrics(p): def augment_text(text, num_augments): """Генерация аугментированных примеров с проверками""" - - if len(text) > 1000: # Слишком длинные тексты плохо аугментируются + if len(text) > 1000: logger.debug(f"Текст слишком длинный для аугментации: {len(text)} символов") return [text] if not isinstance(text, str) or len(text.strip()) < 10: - return [] + return [text] text = text.replace('\n', ' ').strip() @@ -208,12 +207,9 @@ def augment_text(text, num_augments): # Обратный перевод if len(augmented) < num_augments: try: - # Определяем язык текста if any(cyr_char in text for cyr_char in 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя'): - # Для русских текстов tr_augs = translation_aug_ru.augment(text, n=num_augments-len(augmented)) else: - # Для английских/других текстов tr_augs = translation_aug.augment(text, n=num_augments-len(augmented)) if tr_augs: @@ -227,7 +223,7 @@ def augment_text(text, num_augments): logger.debug(f"Не удалось аугментировать текст: {text[:50]}...") return [text] - augmented = list(set(augmented)) # Удаление дубликатов + augmented = list(set(augmented)) return list(augmented)[:num_augments] if augmented else [text] except Exception as e: logger.error(f"Критическая ошибка аугментации: {str(e)}") @@ -259,8 +255,8 @@ def balance_attack_types(unsafe_data): augmented = subset.sample(n=num_augments, replace=True) augmented['prompt'] = augmented['prompt'].apply( - lambda x: (augs := augment_text(x, 1)) and augs[0] if augs else x - ) + lambda x: augment_text(x, 1)[0] # Просто берем первый элемент возвращаемого списка + ) # Логирование аугментированных примеров logger.info(f"\nАугментация для {attack_type}:") -- GitLab