python310Packages.openllm: init at 0.2.27
This commit is contained in:
parent
04ce30e627
commit
be871dd218
198
pkgs/development/python-modules/openllm/default.nix
Normal file
198
pkgs/development/python-modules/openllm/default.nix
Normal file
|
@ -0,0 +1,198 @@
|
||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, hatch-fancy-pypi-readme
|
||||||
|
, hatch-vcs
|
||||||
|
, hatchling
|
||||||
|
, pytestCheckHook
|
||||||
|
, pythonOlder
|
||||||
|
, pythonRelaxDepsHook
|
||||||
|
, accelerate
|
||||||
|
, bentoml
|
||||||
|
, bitsandbytes
|
||||||
|
, click
|
||||||
|
, datasets
|
||||||
|
, docker
|
||||||
|
, einops
|
||||||
|
, fairscale
|
||||||
|
, flax
|
||||||
|
, hypothesis
|
||||||
|
, ipython
|
||||||
|
, jax
|
||||||
|
, jaxlib
|
||||||
|
, jupyter
|
||||||
|
, jupytext
|
||||||
|
, keras
|
||||||
|
, nbformat
|
||||||
|
, notebook
|
||||||
|
, openai
|
||||||
|
, openllm-client
|
||||||
|
, openllm-core
|
||||||
|
, optimum
|
||||||
|
, peft
|
||||||
|
, pytest-mock
|
||||||
|
, pytest-randomly
|
||||||
|
, pytest-rerunfailures
|
||||||
|
, pytest-xdist
|
||||||
|
, ray
|
||||||
|
, safetensors
|
||||||
|
, sentencepiece
|
||||||
|
, soundfile
|
||||||
|
, syrupy
|
||||||
|
, tabulate
|
||||||
|
, tensorflow
|
||||||
|
, tiktoken
|
||||||
|
, transformers
|
||||||
|
, openai-triton
|
||||||
|
, xformers
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
inherit (openllm-core) src version;
|
||||||
|
pname = "openllm";
|
||||||
|
format = "pyproject";
|
||||||
|
|
||||||
|
disabled = pythonOlder "3.8";
|
||||||
|
|
||||||
|
sourceRoot = "source/openllm-python";
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
hatch-fancy-pypi-readme
|
||||||
|
hatch-vcs
|
||||||
|
hatchling
|
||||||
|
pythonRelaxDepsHook
|
||||||
|
];
|
||||||
|
|
||||||
|
pythonRemoveDeps = [
|
||||||
|
# remove cuda-python as it has an unfree license
|
||||||
|
"cuda-python"
|
||||||
|
];
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
bentoml
|
||||||
|
bitsandbytes
|
||||||
|
click
|
||||||
|
openllm-client
|
||||||
|
optimum
|
||||||
|
safetensors
|
||||||
|
tabulate
|
||||||
|
transformers
|
||||||
|
] ++ bentoml.optional-dependencies.io
|
||||||
|
++ tabulate.optional-dependencies.widechars
|
||||||
|
# ++ transformers.optional-dependencies.accelerate
|
||||||
|
++ transformers.optional-dependencies.tokenizers
|
||||||
|
++ transformers.optional-dependencies.torch;
|
||||||
|
|
||||||
|
passthru.optional-dependencies = {
|
||||||
|
agents = [
|
||||||
|
# diffusers
|
||||||
|
soundfile
|
||||||
|
transformers
|
||||||
|
] ++ transformers.optional-dependencies.agents;
|
||||||
|
baichuan = [
|
||||||
|
# cpm-kernels
|
||||||
|
sentencepiece
|
||||||
|
];
|
||||||
|
chatglm = [
|
||||||
|
# cpm-kernels
|
||||||
|
sentencepiece
|
||||||
|
];
|
||||||
|
falcon = [
|
||||||
|
einops
|
||||||
|
xformers
|
||||||
|
];
|
||||||
|
fine-tune = [
|
||||||
|
accelerate
|
||||||
|
bitsandbytes
|
||||||
|
datasets
|
||||||
|
peft
|
||||||
|
# trl
|
||||||
|
];
|
||||||
|
flan-t5 = [
|
||||||
|
flax
|
||||||
|
jax
|
||||||
|
jaxlib
|
||||||
|
keras
|
||||||
|
tensorflow
|
||||||
|
];
|
||||||
|
ggml = [
|
||||||
|
# ctransformers
|
||||||
|
];
|
||||||
|
gptq = [
|
||||||
|
# auto-gptq
|
||||||
|
]; # ++ autogptq.optional-dependencies.triton;
|
||||||
|
grpc = [
|
||||||
|
openllm-client
|
||||||
|
] ++ openllm-client.optional-dependencies.grpc;
|
||||||
|
llama = [
|
||||||
|
fairscale
|
||||||
|
sentencepiece
|
||||||
|
];
|
||||||
|
mpt = [
|
||||||
|
einops
|
||||||
|
openai-triton
|
||||||
|
];
|
||||||
|
openai = [
|
||||||
|
openai
|
||||||
|
tiktoken
|
||||||
|
];
|
||||||
|
opt = [
|
||||||
|
flax
|
||||||
|
jax
|
||||||
|
jaxlib
|
||||||
|
keras
|
||||||
|
tensorflow
|
||||||
|
];
|
||||||
|
playground = [
|
||||||
|
ipython
|
||||||
|
jupyter
|
||||||
|
jupytext
|
||||||
|
nbformat
|
||||||
|
notebook
|
||||||
|
];
|
||||||
|
starcoder = [
|
||||||
|
bitsandbytes
|
||||||
|
];
|
||||||
|
vllm = [
|
||||||
|
ray
|
||||||
|
# vllm
|
||||||
|
];
|
||||||
|
all = with passthru.optional-dependencies; (
|
||||||
|
agents ++ baichuan ++ chatglm ++ falcon ++ fine-tune ++ flan-t5 ++ ggml ++ gptq ++ llama ++ mpt ++ openai ++ opt ++ playground ++ starcoder ++ vllm
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeCheckInputs = [
|
||||||
|
docker
|
||||||
|
hypothesis
|
||||||
|
pytest-mock
|
||||||
|
pytest-randomly
|
||||||
|
pytest-rerunfailures
|
||||||
|
pytest-xdist
|
||||||
|
pytestCheckHook
|
||||||
|
syrupy
|
||||||
|
];
|
||||||
|
|
||||||
|
preCheck = ''
|
||||||
|
export HOME=$TMPDIR
|
||||||
|
# skip GPUs test on CI
|
||||||
|
export GITHUB_ACTIONS=1
|
||||||
|
'';
|
||||||
|
|
||||||
|
disabledTests = [
|
||||||
|
# these tests access to huggingface.co
|
||||||
|
"test_opt_125m"
|
||||||
|
"test_opt_125m"
|
||||||
|
"test_flan_t5"
|
||||||
|
"test_flan_t5"
|
||||||
|
];
|
||||||
|
|
||||||
|
pythonImportsCheck = [ "openllm" ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Operating LLMs in production";
|
||||||
|
homepage = "https://github.com/bentoml/OpenLLM/tree/main/openllm-python";
|
||||||
|
changelog = "https://github.com/bentoml/OpenLLM/blob/${src.rev}/CHANGELOG.md";
|
||||||
|
license = licenses.asl20;
|
||||||
|
maintainers = with maintainers; [ happysalada natsukium ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -4014,6 +4014,8 @@ self: super: with self; {
|
||||||
inherit (pkgs.darwin.apple_sdk.frameworks) ApplicationServices OpenGL;
|
inherit (pkgs.darwin.apple_sdk.frameworks) ApplicationServices OpenGL;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
openllm = callPackage ../development/python-modules/openllm { };
|
||||||
|
|
||||||
openllm-client = callPackage ../development/python-modules/openllm-client { };
|
openllm-client = callPackage ../development/python-modules/openllm-client { };
|
||||||
|
|
||||||
openllm-core = callPackage ../development/python-modules/openllm-core { };
|
openllm-core = callPackage ../development/python-modules/openllm-core { };
|
||||||
|
|
Loading…
Reference in a new issue