Skip to content

Commit d20351b

Browse files
RomiconEZnizamovtimurNickoJo3ndetzti3c2
authored
Release v3.2.0 (#144)
* Added Deceptive Delight * Added Dialogue Injection Continuation * Added VLM Lowres PDFs Attack * Added VLM M-Attack * Added VLM Text Hallucination Attack * Introduced support for Vision Language Model (VLM) attacks, expanding the framework’s multimodal testing capabilities * Added Dialogue Injection Developer Mode*(formerly "Dialog Injection") * Renamed Harmful Behavior Multistage to PAIR * Added scoring to PAIR attack via the Judge Model * Revised and translated Harmbench dataset into Russian * Added `language` column to datasets and enabled filtering attacks by language * Updated `start_testing` to return a dictionary object with test results * Removed Complimentary Transition * Removed Typoglycemia Attack * Removed legacy `RU_*` attacks (now handled via language-based dataset filtering) --------- Co-authored-by: Timur Nizamov <abc@nizamovtimur.ru> Co-authored-by: Nikita Ivanov <nikita.ivanov.778@gmail.com> Co-authored-by: 3ndetz <jayrawrr3@gmail.com> Co-authored-by: ti3c2 <ti3c2@yandex.com> Co-authored-by: svyatocheck <svyatwork2@gmail.com> Co-authored-by: Egorov, Michil <michil.egorov@x5.ru>
1 parent af51c76 commit d20351b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

71 files changed

+7497
-1675
lines changed

.bumpversion.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[bumpversion]
2-
current_version = 3.1.0
2+
current_version = 3.2.0
33
commit = False
44
tag = False
55
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(\-(?P<release>[a-z]+))?

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,3 +92,5 @@ cmake-build-*/
9292
/venv/
9393
/docker/workspace/
9494
.DS_Store
95+
96+
__MACOSX

CONTRIBUTING.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ This document provides guidelines and instructions for contributing to this proj
1111
### Prerequisites
1212

1313
Before you begin, ensure you have the following installed:
14-
- Python 3.10
14+
- Python 3.9, 3.10, or 3.11
1515
- Git
1616

1717
### Setting Up Your Development Environment
@@ -159,11 +159,15 @@ from ..attacks import (
159159
)
160160
```
161161

162-
### 4. Test Your Attack
162+
### 4. Add Your Attack to Documentation
163+
164+
Add info about your attack to `docs/attack_descriptions.md`, observing the structure and alphabetical order.
165+
166+
### 5. Test Your Attack
163167

164168
Run your attack locally using your test setup to verify it works as intended.
165169

166-
### 5. Open a Pull Request
170+
### 6. Open a Pull Request
167171

168172
Submit your changes for review by opening a pull request to the `main` branch.
169173

@@ -182,4 +186,4 @@ Submit your changes for review by opening a pull request to the `main` branch.
182186

183187
4. Incorporate feedback as needed.
184188

185-
5. Once approved, your changes will be merged.
189+
5. Once approved, your changes will be merged.

README-dev.md renamed to README.dev.md

Lines changed: 32 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,37 @@
1-
# LLAMATOR
1+
# LLAMATOR development instructions
22

33
# Setup developer environment
44

5-
To start, you need to setup your local machine.
6-
75
## Setup venv
86

9-
You need to setup virtual environment, simplest way is to run from project root directory:
7+
Run from project root directory:
108

119
```bash
12-
$ . ./setup_dev_env.sh
13-
$ source venv/bin/activate
10+
. ./setup_dev_env.sh
11+
```
12+
```bash
13+
source venv/bin/activate
1414
```
15+
1516
This will create a new venv and run `pip install -r requirements-dev.txt`.
17+
1618
Last line shows how to activate the environment.
1719

1820
## Install pre-commit
1921

2022
To ensure code quality we use pre-commit hook with several checks. Setup it by:
2123

22-
```
24+
```bash
2325
pre-commit install
2426
```
2527

2628
All updated files will be reformatted and linted before the commit.
2729

28-
To reformat and lint all files in the project, use:
30+
Reformat and lint all files in the project:
2931

30-
`pre-commit run --all-files`
32+
```bash
33+
pre-commit run --all-files
34+
```
3135

3236
The used linters are configured in `.pre-commit-config.yaml`. You can use `pre-commit autoupdate` to bump tools to the latest versions.
3337

@@ -44,14 +48,15 @@ Read more about different modes in [documentation](https://ipython.org/ipython-d
4448

4549
All code should be in `src/` to make reusability and review straightforward, keep notebooks simple for exploratory data analysis.
4650
See also [Cookiecutter Data Science opinion](https://drivendata.github.io/cookiecutter-data-science/#notebooks-are-for-exploration-and-communication).
51+
4752
# Project documentation
4853

4954
In `docs/` directory are Sphinx RST/Markdown files.
5055

51-
To build documentation locally, in your configured environment, you can use `build_docs.sh` script:
56+
Build documentation locally:
5257

5358
```bash
54-
$ ./build_docs.sh
59+
./build_docs.sh
5560
```
5661

5762
Then open `public/index.html` file.
@@ -61,13 +66,12 @@ Please read the official [Sphinx documentation](https://www.sphinx-doc.org/en/ma
6166

6267
### Github Actions Documentation
6368

64-
By default **Github Actions** pipelines have `documentation` workflow which will build sphinx documentation automatically on main branch - and it will push it to a branch - it can be hosted on **Github Pages** if you enable it.
69+
**Github Actions** pipelines have `documentation` workflow which will build sphinx documentation automatically on release branch - and it will push it to a branch - it can be hosted on **Github Pages** if you enable it.
6570

6671
To access it, you need to enable it, on **Github repository -> Settings -> Pages** page select **Deploy from a branch** and select **gh-pages**. Link will appear here after deployment.
6772

68-
**WARNING:** Only on Github Enterprise you can make it private so only people with repository access can view it.
69-
7073
Please read more about it [here](https://docs.github.com/en/pages/quickstart).
74+
7175
# Semantic version bump
7276

7377
To bump version of the library please use `bump2version` which will update all version strings.
@@ -76,19 +80,25 @@ NOTE: Configuration is in `.bumpversion.cfg` and **this is a main file defining
7680

7781
For convenience there is bash script which will create commit, to use it call:
7882

83+
```bash
84+
./bump_version.sh minor
85+
```
86+
```bash
87+
./bump_version.sh major
88+
```
89+
```bash
90+
./bump_version.sh patch
91+
```
92+
7993
<img src="assets/img.png" alt="img" width="250"/>
8094

95+
to see what is going to change run:
96+
8197
```bash
82-
# to create a new commit by increasing one semvar:
83-
$ ./bump_version.sh minor
84-
$ ./bump_version.sh major
85-
$ ./bump_version.sh patch
86-
# to see what is going to change run:
87-
$ ./bump_version.sh --dry-run major
98+
./bump_version.sh --dry-run major
8899
```
89-
Script updates **VERSION** file and setup.cfg automatically uses that version.
90100

91-
You can configure it to update version string in other files as well - please check out the bump2version configuration file.
101+
Script updates **VERSION** file and setup.cfg automatically uses that version.
92102

93103
## Publishing a New Version to PyPI
94104

README.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# ![LLAMATOR](assets/LLAMATOR.svg)
22

3-
Red Teaming python-framework for testing chatbots and LLM systems
3+
Red Teaming python-framework for testing chatbots and GenAI systems
44

55
[![License: CC BY-NC-SA 4.0](https://img.shields.io/badge/License-CC_BY--NC--SA_4.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nc-sa/4.0/)
66
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/llamator)](https://pypi.org/project/llamator)
@@ -14,7 +14,7 @@ Red Teaming python-framework for testing chatbots and LLM systems
1414
## Install 🚀
1515

1616
```bash
17-
pip install llamator==3.1.0
17+
pip install llamator==3.2.0
1818
```
1919

2020
## Documentation 📚
@@ -33,6 +33,7 @@ Documentation Link: [https://LLAMATOR-Core.github.io/llamator](https://LLAMATOR-
3333
* 💬 [Telegram bot testing via Telethon](https://github.com/LLAMATOR-Core/llamator/blob/release/examples/llamator-telegram.ipynb)
3434
* 📱 [WhatsApp bot testing via Selenium](https://github.com/LLAMATOR-Core/llamator/blob/release/examples/llamator-whatsapp.ipynb)
3535
* 🔗 [LangChain client testing with custom attack](https://github.com/LLAMATOR-Core/llamator/blob/release/examples/llamator-langchain-custom-attack.ipynb)
36+
* 📷 [Vision Model testing via LangChain](https://github.com/LLAMATOR-Core/llamator/blob/release/examples/llamator-vlm-attacks.ipynb)
3637
* 🐋 [Running LLAMATOR in Docker](https://github.com/LLAMATOR-Core/llamator/blob/release/docker)
3738

3839

@@ -44,8 +45,8 @@ Documentation Link: [https://LLAMATOR-Core.github.io/llamator](https://LLAMATOR-
4445

4546
## Unique Features 🌟
4647

47-
* ️🗡 Support for custom attacks from the user
48-
* 👜 Large selection of attacks on RAG / Agent / Prompt in English and Russian
48+
* ️🗡 Support for custom attacks and datasets from the user
49+
* 👜 Large selection of attacks on LLMs, RAGs, Agents, VLMs in English and Russian
4950
* 🛡 Custom configuration of chat clients
5051
* 📊 History of attack requests and responses in Excel and CSV format
5152
* 📄 Test report document in DOCX format

0 commit comments

Comments
 (0)