Skip to content

Commit

Permalink
Release 1.0.2 (#39)
Browse files Browse the repository at this point in the history
* Added instructions for publishing the package in README-dev
 
* Updated the configuration for adding data to the package

* Update README

* Release v1.0.2
  • Loading branch information
RomiconEZ authored Nov 22, 2024
1 parent 78905de commit 82796e0
Show file tree
Hide file tree
Showing 9 changed files with 73 additions and 26 deletions.
4 changes: 1 addition & 3 deletions .bumpversion.cfg
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[bumpversion]
current_version = 1.0.0
current_version = 1.0.2
commit = False
tag = False
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(\-(?P<release>[a-z]+))?
Expand All @@ -8,8 +8,6 @@ serialize =
{major}.{minor}.{patch}

[bumpversion:part:release]
optional_value = prod
first_value = dev
values =
dev
prod
Expand Down
3 changes: 2 additions & 1 deletion MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
recursive-include src/ py.typed *.pyi VERSION
global-exclude __pycache__
global-exclude *.py[cod]
global-exclude *.py[cod]
include README.md
33 changes: 33 additions & 0 deletions README-dev.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,3 +90,36 @@ Script updates **VERSION** file and setup.cfg automatically uses that version.

You can configure it to update version string in other files as well - please check out the bump2version configuration file.

## Publishing a New Version to PyPI

Follow these steps to build your Python package and upload a new version to PyPI:

1. **Commit the latest changes**
Ensure all your recent changes are committed to your local repository.

2. **Bump the package version**
Run the version bump script:
```bash
./bump_version.sh {minor/major/patch}
```

3. **Commit the version bump**
Add and commit the version change to your repository.

4. **Remove the `dist` directory**
Delete the existing `dist` directory to clean previous builds.

5. **Build the package**
Create the source and wheel distributions using the `build` package:
```bash
python -m build
```

6. **Publish the package**
Upload the new version to PyPI using Twine:
```bash
twine upload dist/*
```

7. **Push to the remote GitHub repository**
Push all your commits to the remote repository.
39 changes: 24 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,41 @@
# LLAMATOR

## Description
## Description 📖

Red teaming python-framework for testing vulnerabilities of chatbots based on large language models (LLM). Supports testing of Russian-language RAG systems.

## Install
## Install 🚀

```bash
pip install llamator==1.0.0
pip install llamator==1.0.2
```

## Documentation
## Documentation 📚

Documentation Link: https://romiconez.github.io/llamator/
Documentation Link: [https://romiconez.github.io/llamator](https://romiconez.github.io/llamator/)

## Examples
## Examples 💡

* [RAG Chatbot testing via API (RU)](/examples/llamator-api.ipynb)
* [Gandalf bot testing via Selenium (RU)](/examples/llamator-selenium.ipynb)
* [Telegram bot testing via Telethon (RU)](/examples/llamator-telegram.ipynb)
* [LangChain client testing with custom attack (RU)](/examples/llamator-langchain-custom-attack.ipynb)
* 📄 [RAG Chatbot testing via API (RU)](https://github.com/RomiconEZ/llamator/blob/release/examples/llamator-api.ipynb)
* 🧙‍♂️ [Gandalf bot testing via Selenium (RU)](https://github.com/RomiconEZ/llamator/blob/release/examples/llamator-selenium.ipynb)
* 💬 [Telegram bot testing via Telethon (RU)](https://github.com/RomiconEZ/llamator/blob/release/examples/llamator-telegram.ipynb)
* 🔗 [LangChain client testing with custom attack (RU)](https://github.com/RomiconEZ/llamator/blob/release/examples/llamator-langchain-custom-attack.ipynb)

## Architecture
## Supported Clients 🛠️

![architecture](/assets/architecture.png)
* 🌐 All LangChain clients
* 🧠 OpenAI-like API
* ⚙️ Custom Class (Telegram, Selenium, etc.)

## License
## Unique Features 🌟

This project is licensed under the terms of the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license. See the LICENSE file for details.
* 🛡️ Support for custom attacks from the user
* 📊 Results of launching each attack in CSV format
* 📈 Report with attack requests and responses for all tests in Excel format
* 📄 Test report document available in DOCX format

[![Creative Commons License](https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png)](http://creativecommons.org/licenses/by-nc-sa/4.0/)
## License 📜

This project is licensed under the terms of the **Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International** license. See the LICENSE file for details.

[![Creative Commons License](https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png)](http://creativecommons.org/licenses/by-nc-sa/4.0/)
Binary file removed assets/architecture.png
Binary file not shown.
Binary file removed assets/roadmap.png
Binary file not shown.
18 changes: 12 additions & 6 deletions setup.cfg
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
[metadata]
name = llamator
# do not change version by hand: use bump_version.sh
version = attr: llamator.__version__.__version__
description = Framework for testing vulnerabilities of large language models (LLM).
long_description = file: README.md
long_description_content_type = text/markdown
authors = Neronov Roman, Nizamov Timur, Fazlyev Albert, Ivanov Nikita, Iogan Maksim
license = Attribution 4.0 International
license_files = LICENSE.md
Expand All @@ -22,9 +23,9 @@ classifiers =
Topic :: Software Development :: Testing

[options]
package_dir=
package_dir =
=src
packages=find:
packages = find:
zip_safe = False
platforms = any
include_package_data = True
Expand All @@ -46,12 +47,17 @@ install_requires =
openpyxl==3.1.5
python-docx==1.1.2
datetime==5.5

[options.packages.find]
where=src
where = src

[options.package_data]
llamator =
**/*.parquet
**/*.json

[bdist_wheel]
universal = 1

[aliases]
# Alias `setup.py test` to `setup.py pytest`
test = pytest
test = pytest
2 changes: 1 addition & 1 deletion src/llamator/__version__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
"""Version information."""

# fmt: off
__version__ = '1.0.0' # noqa
__version__ = '1.0.2' # noqa
# fmt: on
Empty file.

0 comments on commit 82796e0

Please sign in to comment.