48029ea577
Tool to remove censorship removal for language models https://github.com/p-e-w/heretic
91 lines
1.5 KiB
Nix
91 lines
1.5 KiB
Nix
{
|
|
lib,
|
|
accelerate,
|
|
bitsandbytes,
|
|
buildPythonPackage,
|
|
datasets,
|
|
fetchFromGitHub,
|
|
# geom-median,
|
|
hf-transfer,
|
|
huggingface-hub,
|
|
imageio,
|
|
kernels,
|
|
matplotlib,
|
|
numpy,
|
|
optuna,
|
|
# pacmap,
|
|
peft,
|
|
psutil,
|
|
pydantic-settings,
|
|
questionary,
|
|
rich,
|
|
scikit-learn,
|
|
transformers,
|
|
uv-build,
|
|
}:
|
|
|
|
buildPythonPackage (finalAttrs: {
|
|
pname = "heretic-llm";
|
|
version = "1.2.0";
|
|
pyproject = true;
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "p-e-w";
|
|
repo = "heretic";
|
|
tag = "v${finalAttrs.version}";
|
|
hash = "sha256-KmqbOAOII1SP7wpdvGxtzQJt5NmlnF/o99NuZ21vO0s=";
|
|
};
|
|
|
|
postPatch = ''
|
|
substituteInPlace pyproject.toml \
|
|
--replace-fail "uv_build>=0.8.11,<0.9.0" "uv_build"
|
|
'';
|
|
|
|
pythonRelaxDeps = [
|
|
"huggingface-hub"
|
|
"transformers"
|
|
];
|
|
|
|
build-system = [ uv-build ];
|
|
|
|
dependencies = [
|
|
accelerate
|
|
bitsandbytes
|
|
datasets
|
|
hf-transfer
|
|
huggingface-hub
|
|
kernels
|
|
optuna
|
|
peft
|
|
psutil
|
|
pydantic-settings
|
|
questionary
|
|
rich
|
|
transformers
|
|
];
|
|
|
|
optional-dependencies = {
|
|
research = [
|
|
# geom-median
|
|
imageio
|
|
matplotlib
|
|
numpy
|
|
# pacmap
|
|
scikit-learn
|
|
];
|
|
};
|
|
|
|
pythonImportsCheck = [ "heretic" ];
|
|
|
|
meta = {
|
|
description = "Tool to remove censorship removal for language models";
|
|
homepage = "https://github.com/p-e-w/heretic";
|
|
changelog = "https://github.com/p-e-w/heretic/releases/tag/v${finalAttrs.src.tag}";
|
|
license = with lib.licenses; [
|
|
agpl3Only
|
|
agpl3Plus
|
|
];
|
|
maintainers = with lib.maintainers; [ fab ];
|
|
};
|
|
})
|