mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-17 19:21:04 +00:00
mistral-rs: 0.1.18 -> 0.3.0
Diff: https://github.com/EricLBuehler/mistral.rs/compare/refs/tags/v0.1.18...v0.3.0 Changelog: https://github.com/EricLBuehler/mistral.rs/releases/tag/v0.3.0
This commit is contained in:
parent
2349afa474
commit
113a9e9f21
1579
pkgs/by-name/mi/mistral-rs/Cargo.lock
generated
1579
pkgs/by-name/mi/mistral-rs/Cargo.lock
generated
File diff suppressed because it is too large
Load diff
|
@ -19,6 +19,7 @@
|
|||
|
||||
testers,
|
||||
mistral-rs,
|
||||
nix-update-script,
|
||||
|
||||
cudaPackages,
|
||||
cudaCapability ? null,
|
||||
|
@ -56,7 +57,6 @@ let
|
|||
cudaCapability;
|
||||
cudaCapability' = lib.toInt (cudaPackages.cudaFlags.dropDot cudaCapabilityString);
|
||||
|
||||
# TODO Should we assert mklAccel -> stdenv.isLinux && stdenv.isx86_64 ?
|
||||
mklSupport =
|
||||
assert accelIsValid;
|
||||
(acceleration == "mkl");
|
||||
|
@ -80,27 +80,23 @@ in
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "mistral-rs";
|
||||
version = "0.1.18";
|
||||
version = "0.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "EricLBuehler";
|
||||
repo = "mistral.rs";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-lMDFWNv9b0UfckqLmyWRVwnqmGe6nxYsUHzoi2+oG84=";
|
||||
hash = "sha256-3o7Esn+hEXKOoHX6JeXu/sgkWeL6tLCoH+Ep81/LoeU=";
|
||||
};
|
||||
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"candle-core-0.6.0" = "sha256-DxGBWf2H7MamrbboTJ4zHy1HeE8ZVT7QvE3sTYrRxBc=";
|
||||
"range-checked-0.1.0" = "sha256-S+zcF13TjwQPFWZLIbUDkvEeaYdaxCOtDLtI+JRvum8=";
|
||||
"bindgen_cuda-0.1.6" = "sha256-OWGcQxT+x5HyIFskNVWpPr6Qfkh6Mv/g4PVSm5oA27g=";
|
||||
"candle-core-0.6.0" = "sha256-8UBDQfbVR4gsZRRCy899DA27saiC85+FRm6L4YBX2oA=";
|
||||
};
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
ln -s ${./Cargo.lock} Cargo.lock
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
python3
|
||||
|
@ -112,6 +108,7 @@ rustPlatform.buildRustPackage rec {
|
|||
openssl
|
||||
]
|
||||
++ lib.optionals cudaSupport [
|
||||
cudaPackages.cuda_cudart
|
||||
cudaPackages.cuda_nvrtc
|
||||
cudaPackages.libcublas
|
||||
cudaPackages.libcurand
|
||||
|
@ -120,7 +117,13 @@ rustPlatform.buildRustPackage rec {
|
|||
++ lib.optionals stdenv.isDarwin darwinBuildInputs;
|
||||
|
||||
cargoBuildFlags =
|
||||
lib.optionals cudaSupport [ "--features=cuda" ]
|
||||
[
|
||||
# This disables the plotly crate which fails to build because of the kaleido feature requiring
|
||||
# network access at build-time.
|
||||
# See https://github.com/NixOS/nixpkgs/pull/323788#issuecomment-2206085825
|
||||
"--no-default-features"
|
||||
]
|
||||
++ lib.optionals cudaSupport [ "--features=cuda" ]
|
||||
++ lib.optionals mklSupport [ "--features=mkl" ]
|
||||
++ lib.optionals (stdenv.isDarwin && metalSupport) [ "--features=metal" ];
|
||||
|
||||
|
@ -129,7 +132,7 @@ rustPlatform.buildRustPackage rec {
|
|||
SWAGGER_UI_DOWNLOAD_URL =
|
||||
let
|
||||
# When updating:
|
||||
# - Look for the version of `utopia-swagger-ui` at:
|
||||
# - Look for the version of `utoipa-swagger-ui` at:
|
||||
# https://github.com/EricLBuehler/mistral.rs/blob/v<MISTRAL-RS-VERSION>/mistralrs-server/Cargo.toml
|
||||
# - Look at the corresponding version of `swagger-ui` at:
|
||||
# https://github.com/juhaku/utoipa/blob/utoipa-swagger-ui-<UTOPIA-SWAGGER-UI-VERSION>/utoipa-swagger-ui/build.rs#L21-L22
|
||||
|
@ -166,20 +169,29 @@ rustPlatform.buildRustPackage rec {
|
|||
checkFlags = [
|
||||
"--skip=gguf::gguf_tokenizer::tests::test_decode_gpt2"
|
||||
"--skip=gguf::gguf_tokenizer::tests::test_decode_llama"
|
||||
"--skip=gguf::gguf_tokenizer::tests::test_encode_decode_gpt2"
|
||||
"--skip=gguf::gguf_tokenizer::tests::test_encode_decode_llama"
|
||||
"--skip=gguf::gguf_tokenizer::tests::test_encode_gpt2"
|
||||
"--skip=gguf::gguf_tokenizer::tests::test_encode_llama"
|
||||
"--skip=sampler::tests::test_argmax"
|
||||
"--skip=sampler::tests::test_gumbel_speculative"
|
||||
"--skip=util::tests::test_parse_image_url"
|
||||
];
|
||||
|
||||
passthru = {
|
||||
tests = {
|
||||
version = testers.testVersion { package = mistral-rs; };
|
||||
|
||||
withMkl = mistral-rs.override { acceleration = "mkl"; };
|
||||
withCuda = mistral-rs.override { acceleration = "cuda"; };
|
||||
withMetal = mistral-rs.override { acceleration = "metal"; };
|
||||
# TODO: uncomment when mkl support will be fixed
|
||||
withMkl = lib.optionalAttrs (stdenv.hostPlatform == "x86_64-linux") (
|
||||
mistral-rs.override { acceleration = "mkl"; }
|
||||
);
|
||||
withCuda = lib.optionalAttrs stdenv.isLinux (mistral-rs.override { acceleration = "cuda"; });
|
||||
withMetal = lib.optionalAttrs (stdenv.hostPlatform == "aarch64-darwin") (
|
||||
mistral-rs.override { acceleration = "metal"; }
|
||||
);
|
||||
};
|
||||
updateScript = nix-update-script { };
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
@ -194,6 +206,8 @@ rustPlatform.buildRustPackage rec {
|
|||
lib.platforms.linux
|
||||
else if metalSupport then
|
||||
[ "aarch64-darwin" ]
|
||||
else if mklSupport then
|
||||
[ "x86_64-linux" ]
|
||||
else
|
||||
lib.platforms.unix;
|
||||
broken = mklSupport;
|
||||
|
|
Loading…
Reference in a new issue