mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-14 13:39:15 +03:00
106 lines
2.1 KiB
Nix
106 lines
2.1 KiB
Nix
{
|
|
lib,
|
|
buildPythonPackage,
|
|
fetchFromGitHub,
|
|
pythonOlder,
|
|
accelerate,
|
|
attrs,
|
|
bitsandbytes,
|
|
bentoml,
|
|
cattrs,
|
|
click-option-group,
|
|
datasets,
|
|
deepmerge,
|
|
hatch-fancy-pypi-readme,
|
|
hatch-vcs,
|
|
hatchling,
|
|
inflection,
|
|
mypy-extensions,
|
|
orjson,
|
|
peft,
|
|
pydantic,
|
|
transformers,
|
|
typing-extensions,
|
|
}:
|
|
|
|
buildPythonPackage rec {
|
|
pname = "openllm-core";
|
|
version = "0.5.7";
|
|
pyproject = true;
|
|
|
|
disabled = pythonOlder "3.8";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "bentoml";
|
|
repo = "OpenLLM";
|
|
rev = "refs/tags/v${version}";
|
|
hash = "sha256-sEZLszzoo39WUnziHGp7zWNO0YaqkXeXAoIxvyhw42w=";
|
|
};
|
|
|
|
sourceRoot = "${src.name}/openllm-core";
|
|
|
|
|
|
postPatch = ''
|
|
substituteInPlace pyproject.toml \
|
|
--replace-fail "hatch-vcs==" "hatch-vcs>=" \
|
|
--replace-fail "hatchling==" "hatchling>=" \
|
|
--replace-fail "hatch-fancy-pypi-readme==" "hatch-fancy-pypi-readme>="
|
|
'';
|
|
|
|
pythonRelaxDeps = [ "cattrs" ];
|
|
|
|
build-system = [
|
|
hatch-fancy-pypi-readme
|
|
hatch-vcs
|
|
hatchling
|
|
];
|
|
|
|
dependencies = [
|
|
attrs
|
|
cattrs
|
|
pydantic
|
|
# not listed in pyproject.toml, but required at runtime
|
|
click-option-group
|
|
deepmerge
|
|
inflection
|
|
mypy-extensions
|
|
orjson
|
|
typing-extensions
|
|
];
|
|
|
|
optional-dependencies = {
|
|
vllm = [
|
|
# vllm
|
|
];
|
|
bentoml = [ bentoml ];
|
|
fine-tune = [
|
|
accelerate
|
|
bitsandbytes
|
|
datasets
|
|
peft
|
|
transformers
|
|
# trl
|
|
] ++ transformers.optional-dependencies.torch ++ transformers.optional-dependencies.tokenizers;
|
|
full =
|
|
with optional-dependencies;
|
|
(
|
|
vllm
|
|
# use absolute path to disambiguate with derivbation argument
|
|
++ optional-dependencies.bentoml
|
|
++ fine-tune
|
|
);
|
|
};
|
|
|
|
# there is no tests
|
|
doCheck = false;
|
|
|
|
pythonImportsCheck = [ "openllm_core" ];
|
|
|
|
meta = with lib; {
|
|
description = "Core components for OpenLLM";
|
|
homepage = "https://github.com/bentoml/OpenLLM/tree/main/openllm-core";
|
|
changelog = "https://github.com/bentoml/OpenLLM/blob/${src.rev}/CHANGELOG.md";
|
|
license = licenses.asl20;
|
|
maintainers = with maintainers; [ natsukium ];
|
|
};
|
|
}
|