From d66da6b65b9843b067e6c3fe405d76e5febc2a6d Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 8 Jan 2025 00:38:32 +0100 Subject: [PATCH 1/2] python312Packages.sentence-transformers: add optional-dependencies - adjust dependencies --- .../sentence-transformers/default.nix | 32 ++++++++++++------- 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/pkgs/development/python-modules/sentence-transformers/default.nix b/pkgs/development/python-modules/sentence-transformers/default.nix index 5ecd35e78a8c..808613591d94 100644 --- a/pkgs/development/python-modules/sentence-transformers/default.nix +++ b/pkgs/development/python-modules/sentence-transformers/default.nix @@ -2,14 +2,17 @@ lib, buildPythonPackage, fetchFromGitHub, + pythonOlder, # build-system setuptools, # dependencies + accelerate, + datasets, huggingface-hub, - nltk, - numpy, + optimum, + pillow, scikit-learn, scipy, sentencepiece, @@ -19,8 +22,6 @@ transformers, # tests - accelerate, - datasets, pytestCheckHook, pytest-cov-stub, }: @@ -30,6 +31,8 @@ buildPythonPackage rec { version = "3.4.1"; pyproject = true; + disabled = pythonOlder "3.9"; + src = fetchFromGitHub { owner = "UKPLab"; repo = "sentence-transformers"; @@ -41,23 +44,28 @@ buildPythonPackage rec { dependencies = [ huggingface-hub - nltk - numpy + pillow scikit-learn scipy - sentencepiece - tokenizers torch tqdm transformers ]; + optional-dependencies = { + train = [ + accelerate + datasets + ]; + onnx = [ optimum ] ++ optimum.optional-dependencies.onnxruntime; + # onnx-gpu = [ optimum ] ++ optimum.optional-dependencies.onnxruntime-gpu; + # openvino = [ optimum-intel ] ++ optimum-intel.optional-dependencies.openvino; + }; + nativeCheckInputs = [ - accelerate - datasets - pytestCheckHook pytest-cov-stub - ]; + pytestCheckHook + ] ++ lib.flatten (builtins.attrValues optional-dependencies); pythonImportsCheck = [ "sentence_transformers" ]; From 7e93c30e2c3c756f68f94799ba01a1379ba11193 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 6 Mar 2025 09:12:23 +0100 Subject: [PATCH 2/2] open-webui: add sentencepiece sentencepiece was pulled-in by sentence-transformers but was remove from sentence-transformers in their latest release --- pkgs/by-name/op/open-webui/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/op/open-webui/package.nix b/pkgs/by-name/op/open-webui/package.nix index cf76a0974036..ab7e37f8e375 100644 --- a/pkgs/by-name/op/open-webui/package.nix +++ b/pkgs/by-name/op/open-webui/package.nix @@ -160,6 +160,7 @@ python312.pkgs.buildPythonApplication rec { requests restrictedpython sentence-transformers + sentencepiece soundfile tiktoken transformers