Skip to content

Releases: CodeWithKyrian/transformers-php

v0.6.2

15 Sep 15:45

Choose a tag to compare

v0.6.2 Pre-release
Pre-release

What's Changed

New Contributors

Full Changelog: 0.6.1...0.6.2

0.6.1

21 Jul 13:00

Choose a tag to compare

0.6.1 Pre-release
Pre-release

What's New

  • feat: update Rindow Matlib macOS binaries for ARM64 and x86_64 architectures
  • fix: update darwin platform directory names
  • chore(ci): clean up distribution directory after artifact creation in release workflow

Full Changelog: 0.6.0...0.6.1

v0.6.0

21 Jul 11:44
5c1de50

Choose a tag to compare

v0.6.0 Pre-release
Pre-release

What’s Changed

  • Add support for stopping criteria: MaxLength, MaxTime, and Interruptable for more flexible generation control.
  • Add PSR-3 logging support
  • Extend PretrainedConfig to reduce code repetition across model files and improve maintainability.
  • Restructure AutoModel resolution to prioritize generic model selection when no task-specific class is found.
  • Add support for new model families: Gemma, Gemma2, Gemma3, Qwen3, and Phi3, with their respective causal language models.
  • Add support for eos and last_token pooling strategies in the FeatureExtractionPipeline.
  • Add support for new merge format in BPEModel with better compatibility via JSON-encoded token pair mapping.
  • Introduce PretrainedModel::$sessions array to streamline model session handling across subclasses.
  • Simplify streamer implementation to improve clarity and flexibility.
  • Enhance image processing methods and VIPS integration.
  • Convert to a platform package with native shared library support for Linux, macOS, and Windows (x86_64 and ARM64).
  • Introduce dynamic shared library loading with platform-specific path resolution logic.
  • Update example configurations, docs, and usage instructions to reflect new architecture.
  • Add tests for image utilities and inference session logic.

Bug Fixes

  • Fix Tensor::slice() error during generation.
  • Fix logic in RepetitionPenaltyLogitsProcessor to properly apply penalties based on generated tokens.
  • Fix compatibility issues with PHP 8.1 and adjust dependency versions accordingly.
  • Fix bug in HubTest for Windows paths by using DIRECTORY_SEPARATOR.
  • Fix edge case in BPEModel when null value encountered in merge map.
  • Fix various doc inconsistencies and default constructor bugs in model subclasses.

Improvements

  • Refactor library architecture for improved platform compatibility and modularity.
  • Refactor Samplerate, Sndfile, and other FFI wrappers to use instance-based invocation.
  • Improve generation configuration merging logic and model resolution flow.
  • Unify code style across components and improve clarity of core components.
  • Update shared native dependencies:
    • onnxruntime → 1.21.0
    • rindowmatlib → 1.1.1
  • Clean up feature extractors and consolidate model session logic.
  • Improve error handling in FFI calls and utility classes.
  • Rename internal config and model mapping classes for better clarity (PretrainedMixinAutoModelBase, etc.)

New Contributors

Full Changelog: 0.5.3...0.6.0

TransformersPHP v0.5.3

27 Sep 19:54

Choose a tag to compare

Pre-release

This release brings new features, critical bug fixes, and improvements to enhance the functionality and performance of the package. Below is a summary of the changes.

What's New

Bug Fixes

Improvements

I encourage everyone to update to this latest version and explore the new features. As always, feel free to report any issues or contribute to the project.

Full Changelog: 0.5.2...0.5.3

TransformersPHP v0.5.2

29 Aug 13:11
d4c5959

Choose a tag to compare

Pre-release

What's Changed

New Contributors

Full Changelog: 0.5.1...0.5.2

TransformersPHP v0.5.1

24 Aug 05:39

Choose a tag to compare

Pre-release

What's new

  • Tensor Operations: magnitude, sqrt and cosSimilarity added.
  • Vips Binaries: - Vips binaries are now bundled by default, eliminating need to modify anything on the system to use libvips.

Bug Fixes

  • Error Handling: - Adjusted error level to a warning for unknown model types, providing clearer feedback without interrupting the workflow.

Reversions

  • Dependencies: Reverted rokka/vips from dev back to normal dependencies. Since vips binaries are bundled by default, use of vips is now encouraged.

Full Changelog: 0.5.0...0.5.1

TransformersPHP v0.5.0

21 Aug 03:00

Choose a tag to compare

Pre-release

I'm excited to announce the latest version of TransformersPHP, packed with new features, improvements, and bug fixes. This release brings powerful enhancements to your machine-learning-driven PHP applications, enabling more efficient and versatile operations.

New Features

  • New Pipeline: Audio Classification - Easily classify audio clips with a pre-trained model.

    $classifier = pipeline('audio-classification', 'Xenova/ast-finetuned-audioset-10-10-0.4593');
    $audioUrl = __DIR__ . '/../sounds/cat_meow.wav';
    $output = $classifier($audioUrl);
    // [
    //   [
    //     "label" => "Meow"
    //     "score" => 0.6109990477562
    //   ]
    // ]
  • New Pipeline: Automatic Speech Recognition (ASR) - Supports models like wav2vec and whisper for transcribing speech to text. If a specific model is not officially supported, please open an issue with a feature request.

    • Example:
      $transcriber = pipeline('asr', 'Xenova/whisper-tiny.en');
      $audioUrl = __DIR__ . '/../sounds/preamble.wav';
      $output = $transcriber($audioUrl, maxNewTokens: 256);
      // [
      //   "text" => "We, the people of the United States, ..."
      // ]

Enhancements

  • Shared Libraries Dependencies: - A revamped workflow for downloading shared libraries dependencies ensures they are versioned correctly, reducing download sizes. These binaries are now thoroughly tested on Apple Silicon, Intel Macs, Linux x86_64, Linux aarch64, and Windows platforms.

  • Transformers::setup Simplified - Transformers::setup() is now optional. Default settings are automatically applied if not called. The apply() method is no longer necessary, but still available for backward compatibility.

  • Immutable Image Utility - The Image utility class is now immutable. Each operation returns a new instance, allowing for method chaining and a more predictable workflow.

    $image = Image::read($url);
    $resizedImage = $image->resize(100, 100);
    // $image remains unchanged
  • New Tensor Operations - New operations were added: copyTo, log, exp, pow, sum, reciprocal, stdMean. Additionally, overall performance improvements have been made to Tensor operations.

  • TextStreamer Improvements - TextStreamer now prints to stdout by default. You can override this behavior using the onStream(callable $callback) method. Consequently, the StdoutStreamer class is now obsolete.

  • VIPS PHP Driver Update - The VIPS PHP driver is no longer bundled by default in composer.json. Detailed documentation is provided for installing the Vips PHP driver and setting up Vips on your machine.

  • ONNX Runtime Upgrade - Upgraded to version 1.19.0, bringing more performance and compatibility with newer models.

  • Bug Fixes & Performance Improvements - Various bug fixes have been implemented to enhance stability and performance across the package.

I hope you enjoy these updates and improvements. If you encounter any issues or have any suggestions, please don’t hesitate to reach out through our Issue Tracker

Full Changelog: 0.4.4...0.5.0

v0.4.4

14 Aug 16:10
49fbf23

Choose a tag to compare

v0.4.4 Pre-release
Pre-release

What's Changed

  • feat: add optional host argument for model download by @k99k5 in #56

New Contributors

  • @k99k5 made their first contribution in #56

Full Changelog: 0.4.3...0.4.4

v0.4.3

31 Jul 15:02
d812db1

Choose a tag to compare

v0.4.3 Pre-release
Pre-release

What's Changed

New Contributors

Full Changelog: 0.4.2...0.4.3

v0.4.2

05 Jun 07:43
67a6715

Choose a tag to compare

v0.4.2 Pre-release
Pre-release

What's Changed

  • bugfix: Repository url resolution not working properly in Windows by @CodeWithKyrian in #41

Full Changelog: 0.4.1...0.4.2