Releases: exasol/transformers-extension
4.0.0: AI Functions
Summary
This version introduces our new AI Functions, namely the new UDFs
"AI_SENTIMENT", "AI_CLASSIFY" and "AI_EXTRACT_ENTITIES".
These new UDFs are designed to be easy to use, only requiring
the text data to be used as input.
For users who need more control over the configuration of their prediction UDFs,
all the existing UDFs are still available, but have been renamed to
fit our new naming scheme.
To make the new UDFs possible, we needed to make quite a few changes under the hood.
So please read the breaking changes carefully before updating to this version.
For more information, also take a look at the updated documentation.
BREAKING CHANGES:
- The
max_lengthparameter has been renamed tomax_new_tokens, and its behavior changed. Both of these changes were done in accordance with changes in the transformers library. - All prediction UDFs have been renamed:
| Old UDF Name | New UDF Name |
|---|---|
| TE_FILLING_MASK_UDF | AI_FILL_MASK_EXTENDED |
| TE_QUESTION_ANSWERING_UDF | AI_ANSWER_EXTENDED |
| TE_SEQUENCE_CLASSIFICATION_SINGLE_TEXT_UDF | AI_CUSTOM_CLASSIFY_EXTENDED |
| TE_SEQUENCE_CLASSIFICATION_TEXT_PAIR_UDF | AI_ENTAILMENT_EXTENDED |
| TE_TEXT_GENERATION_UDF | AI_COMPLETE_EXTENDED |
| TE_TRANSLATION_UDF | AI_TRANSLATE_EXTENDED |
| TE_TOKEN_CLASSIFICATION_UDF | AI_EXTRACT_EXTENDED |
| TE_ZERO_SHOT_CLASSIFICATION_UDF | AI_CLASSIFY_EXTENDED |
-
task_typehandling has been changed.
The Transformers extension now allows only specific transformers task types in
the installation and execution of models.
You may need to re-install your models from HuggingFace using the newtask_typesin order to use them.
Models installed with legacy task_types can still be listed and deleted using the respective UDFs. -
Allowed task_types are:
"fill-mask" (previously "filling_mask"),
"translation",
"zero-shot-classification",
"text-classification" (previously "sequence_classification"),
"question-answering",
"text-generation",
"token-classification"
Features
- #351: Added functionality for installing default models.
- #378. Added creation of default BucketFS-Connection to deploy command
- #383: Added Transformation for adding columns to DataFrame and filling them with default values.
- #381: Added Transformation for removing columns from DataFrame
- #353: Added "AI_SENTIMENT" UDF
- #390: Added "AI_CLASSIFY" and "AI_EXTRACT_ENTITIES" UDF's
Security
- Updated urllib3 (2.5.0 -> 2.6.3)
- Updated exasol-integration-test-docker-environment (4.4.1 -> 5.0.0)
- Updated exasol-script-languages-container-tool (3.4.1 -> 3.5.0)
- Updated exasol-saas-api (2.3.0 -> 2.6.0)
- #376: Fixed vulnerabilities by updating dependencies
- #386: Fixed vulnerabilities by updating dependencies
This release fixes vulnerabilities by updating dependencies:
| Dependency | Affected | Vulnerabilities | Fixed in | Updated to |
|---|---|---|---|---|
| black | 25.9.0 | GHSA-3936-cmfr-pm3m | 26.3.1 | 25.12.0 |
| cryptography | 46.0.1 | GHSA-r6ph-v2qm-q3c2 | 46.0.5 | 46.0.6 |
| cryptography | 46.0.1 | GHSA-m959-cc7f-wv43 | 46.0.6 | 46.0.6 |
| filelock | 3.19.1 | GHSA-w853-jp5j-5j7f | 3.20.1 | 3.25.2 |
| filelock | 3.19.1 | GHSA-qmgc-5h2g-mvrw | 3.20.3 | 3.25.2 |
| pip | 25.3 | GHSA-6vgw-5pg2-w6jp | 26.0 | 26.0.1 |
| pyasn1 | 0.6.1 | GHSA-63vm-454h-vhhq | 0.6.2 | 0.6.3 |
| pyasn1 | 0.6.1 | GHSA-jr27-m4p2-rc6r | 0.6.3 | 0.6.3 |
| pygments | 2.19.2 | GHSA-5239-wwwm-4pmq | 2.20.0 | 2.20.0 |
| pynacl | 1.6.0 | GHSA-mrfv-m5wm-5w6w | 1.6.2 | 1.6.2 |
| pyopenssl | 25.1.0 | GHSA-vp96-hxj8-p424 | 26.0.0 | (removed) |
| pyopenssl | 25.1.0 | GHSA-5pwr-322w-8jr4 | 26.0.0 | (removed) |
| requests | 2.32.5 | GHSA-gc5v-m9x4-r6x2 | 2.33.0 | 2.33.1 |
| tornado | 6.5.2 | GHSA-78cv-mqj4-43f7 | 6.5.5 | 6.5.5 |
| tornado | 6.5.2 | GHSA-qjxf-f2mg-c6mc | 6.5.5 | 6.5.5 |
| urllib3 | 2.5.0 | GHSA-gm62-xv2j-4w53 | 2.6.0 | 2.6.3 |
| urllib3 | 2.5.0 | GHSA-2xpw-w6gg-jr37 | 2.6.0 | 2.6.3 |
| urllib3 | 2.5.0 | GHSA-38jv-5279-wg99 | 2.6.3 | 2.6.3 |
| virtualenv | 20.34.0 | GHSA-597g-3phw-6986 | 20.36.1 | 21.2.0 |
Bugfixes
- #343: Fixed
max_lengthparameter being ignored, renamedmax_lengthtomax_new_tokens
Documentation
- #204: Split the user_guide into multiple files
- #253, #341, #342: Fixed links and improved parameter description in user guide
- #363: Added documentation for installing default models.
Refactorings
- #346: Changed translation_udf unit tests to use StandaloneUdfMock
- #323: Standardized udf parameter order (changes in TE_DELETE_MODEL_UDF, TE_MODEL_DOWNLOADER_UDF)
- #350: Renamed all prediction UDFs.
- #358: Refactored deployment configuration
- #348: Improved mock model-output for testing max_new_tokens handling in translation unit tests
- #360: Updated to exasol-toolbox 5.1.1 and relocked vulnerable transitive dependencies
- #370: Pulled new class PredictionTask out of BaseModelUdf
- #372: Added Transformation Protocol and extracted GetPredictionFromBatch into Transformations
- #374: Extracted Span handling into Transformations
- #375: Added implementation for a generalized extract_unique_param_based_dataframes function
- #316: Changed task_types to only allow transformers task_types, allows underscores and dashes
3.0.0: Improved ranking
Summary
In this release, we added a return_ranks and a rank column to some UDFs,
to improve the flexibility in building Pipelines using the Exasol Transformers Extension.
BREAKING CHANGES:
- The Sequence-Classification UDF's (single text, text pair) now require a
return_ranksinput Column, which is used
to determine how many results per input should be returned. - The Sequence-Classification UDF's (single text, text pair) now return a
rankcolumn with the rank of the results. - The Zero-Shot-Classification UDF now require a
return_ranksinput Column, which is used to determine how many
results per input should be returned.
Please refer to the user guide for Details.
Features
- #329: Added return_ranks to Zero-Shot-Classification UDF
- #326: Added parameters
rankandreturn_ranksto sequence classification single text udf - #327: Added parameters
rankandreturn_ranksto sequence classification text pair udf
Refactorings
- #311: Updated transitive dependencies
- #337: Moved CI Integration tests from AWS CodeBuild to GitHub Actions
Security
- #333: Resolved CVE-2025-3730 for torch by bumping version to ^2.8.0 and setting requires-python = ">=3.10.0,<3.15"
Internal
- #333: Resolved CVE-2025-8869 for transitive dependency pip by re-locking dependencies
2.3.0
Transformers Extension 2.3.0, 2025-09-24
Code name: Model utility UDF's
Summary
In this release we added utility functionality for installing,
listing and deleting HuggingFace models in the Exasol BucketFS.
Features
- #149: Added Python API for uploading a model to a given BucketFS location
- #138: Added new UDF to delete an uploaded model
- #313: Added new UDF to list installed models in a BucketFS directory
Bugfixes
- #285: Fixed logic in model output quality checks of UDF integration test
- #285: Deactivated SaaS tests because of a broken API
Documentation
- #319: Updated TE User Guide
Refactorings
- Updated tornado (6.4.2 -> 6.5.1)
- #201: Added python toolbox to project
- #294: Improved linter score
- #305: Updated python toolbox to 1.1.0 & added basic typing checks
- #295: Activated type check in .pre-commit-config.yaml
- #296: Activated code formatting in .pre-commit-config.yaml
- #311: Updated transitive dependencies urllib3 (2.4.0 -> 2.5.0) & requests (2.32.3 -> 2.32.4)
- #317: Added functions
install_huggingface_model()andload_huggingface_pipeline().
2.2.1: Minor Update for internal changes
Summary
Fixed a bug in a model fixture, and updated exasol-bucketfs to 1.0.1
Bugs
- #287: Used the correct AutoModel class in tests.fixtures.model_fixture_utils.download_model_to_path
Dependency Updates
- Updated exasol-bucketfs to 1.0.1
2.2.0: Bugfix for token classification
Summary
This release includes a bugfix for handling unexpected results in the token classification udf,
as well as internal refactorings for the unit tests.
Bugs
- #272: Fixed unit tests assertions not working correctly
- #275: Fixed a bug where models returning unexpected results was not handled correctly
Refactorings
2.1.0: Added new deploy command
Summary
This release features a new CLI command for deploying the Transformers Extension,
additionally improvements where made for the tests.
Bugs
- #256: Removed imports of pytest fixtures to avoid session fixtures running for each test
Refactorings
2.0.0: Fixed model saving, added SaaS support and update to Python 3.10
Summary
This release Fixes an error in saving and loading of the model metadata. It also adds Exasol Saas support and
updated the project to python 3.10
Features
- #243: Added an option to deploy scripts in a SaaS database.
- #244: Made the integration tests running in SaaS, as well as in the Docker-DB.
Bugs
- #237: Fixed reference to python-extension-common
- #245: Added task_type parameter to fix model saving and loading
Documentation
- #210: Fixed typos in user guide.
- #247: Updated documentation including the deployment options in SaaS.
Refactorings
- #216: Simplified model path constructions, consolidating them into one function
- #228: Now use python-extension-common for the language container deployment.
- #232: Added Class which holds model information
- #217: Refactored PredictionUDFs and LoadLocalModel so that LoadLocalModel constructs the bucketfs model file path
- #230: Updated supported python version to >= Python 3.10
- #236: Moved to the PathLike bucketfs interface.
- #218: Changed upload_model_udf to load model from Huggingface
Security
1.0.1: Fixed the directory structure bug
Summary
Attention: In the 1.0.x Releases the model saving process is broken. Some metadata is not saved correctly resulting in executable models which return bad results. If you use locally saved models that you upload manually you are not affected, otherwise, please skip this version and wait for release 2.0.0. We are working on fixing this issue.
Fixed the directory structure made by the model upload UDF.
Bugs
- #221: Directory Structure that Model Upload UDF creates is different from what PredictionUDFs expect.
Features
N/A
Refactorings
N/A
Security
N/A
1.0.0: Local model loading
Summary
Attention: In the 1.0.x Releases the model saving process is broken. Some metadata is not saved correctly resulting in executable models which return bad results. If you use locally saved models that you upload manually you are not affected, otherwise, please skip this version and wait for release 2.0.0. We are working on fixing this issue.
In this release, we integrated a new model loading functionality which means downloaded models will now be saved
in the BucketFS. This means, the Prediction UDFs do not connect to the internet to look for model updates.
There are also documentation updates, and we updated cryptography to >= 42.0.4.
Breaking API changes
The change in the model loading functionality means the API for the Prediction UDFs has changed.
The 'token_conn' parameter was removed from the UDF calls. You can now call the UDFs
as follows (Example case for the filling mask udf):
SELECT TE_FILLING_MASK_UDF(
device_id,
bucketfs_conn,
sub_dir,
model_name,
text_data,
top_k
)Features
Documentation
- #133: Improved user and developer documentation with additional information
Refactorings
- #147: Removed token_conn from Prediction UDFs
Security
- Updated cryptography to >= 42.0.4