local-ai: 2.26.0 -> 2.28.0

This commit is contained in:
Christian Kögler 2025-04-27 18:43:39 +02:00
parent 488d37d95b
commit 033b0fe378
2 changed files with 23 additions and 19 deletions

View file

@ -20,6 +20,7 @@
ncurses, ncurses,
which, which,
opencv, opencv,
curl,
enable_upx ? true, enable_upx ? true,
upx, upx,
@ -28,11 +29,11 @@
# https://github.com/NixOS/rfcs/pull/169 # https://github.com/NixOS/rfcs/pull/169
# CPU extensions # CPU extensions
enable_avx ? true, enable_avx ? stdenv.hostPlatform.isx86_64,
enable_avx2 ? true, enable_avx2 ? stdenv.hostPlatform.isx86_64,
enable_avx512 ? stdenv.hostPlatform.avx512Support, enable_avx512 ? stdenv.hostPlatform.avx512Support,
enable_f16c ? true, enable_f16c ? stdenv.hostPlatform.isx86_64,
enable_fma ? true, enable_fma ? stdenv.hostPlatform.isx86_64,
with_openblas ? false, with_openblas ? false,
openblas, openblas,
@ -105,10 +106,10 @@ let
final: prev: { final: prev: {
name = "llama-cpp-grpc"; name = "llama-cpp-grpc";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ggml-org"; owner = "ggerganov";
repo = "llama.cpp"; repo = "llama.cpp";
rev = "300907b2110cc17b4337334dc397e05de2d8f5e0"; rev = "d6d2c2ab8c8865784ba9fef37f2b2de3f2134d33";
hash = "sha256-7jPgToZ8Xs+8DfXP5WFWZKhqFdYcZ9yFzWVKjvOttIA="; hash = "sha256-b9B5I3EbBFrkWc6RLXMWcCRKayyWjlGuQrogUcrISrc=";
fetchSubmodules = true; fetchSubmodules = true;
}; };
postPatch = postPatch =
@ -116,7 +117,7 @@ let
+ '' + ''
cd examples cd examples
cp -r --no-preserve=mode ${src}/backend/cpp/llama grpc-server cp -r --no-preserve=mode ${src}/backend/cpp/llama grpc-server
cp llava/clip.* llava/llava.* grpc-server cp llava/clip* llava/llava.* grpc-server
printf "\nadd_subdirectory(grpc-server)" >> CMakeLists.txt printf "\nadd_subdirectory(grpc-server)" >> CMakeLists.txt
cp ${src}/backend/backend.proto grpc-server cp ${src}/backend/backend.proto grpc-server
@ -137,6 +138,7 @@ let
protobuf # provides also abseil_cpp as propagated build input protobuf # provides also abseil_cpp as propagated build input
grpc grpc
openssl openssl
curl
]; ];
} }
)).override )).override
@ -286,7 +288,7 @@ let
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "PABannier"; owner = "PABannier";
repo = "bark.cpp"; repo = "bark.cpp";
rev = "v1.0.0"; tag = "v1.0.0";
hash = "sha256-wOcggRWe8lsUzEj/wqOAUlJVypgNFmit5ISs9fbwoCE="; hash = "sha256-wOcggRWe8lsUzEj/wqOAUlJVypgNFmit5ISs9fbwoCE=";
fetchSubmodules = true; fetchSubmodules = true;
}; };
@ -303,10 +305,10 @@ let
stable-diffusion = stdenv.mkDerivation { stable-diffusion = stdenv.mkDerivation {
name = "stable-diffusion"; name = "stable-diffusion";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "leejet"; owner = "richiejp";
repo = "stable-diffusion.cpp"; repo = "stable-diffusion.cpp";
rev = "d46ed5e184b97c2018dc2e8105925bdb8775e02c"; rev = "53e3b17eb3d0b5760ced06a1f98320b68b34aaae"; # branch cuda-fix
hash = "sha256-5i2HjkdaQEmlUWeHucQyrS8zNS+xyB7Zj+1oA/xsv2k="; hash = "sha256-z56jafOdibpX+XhRsrc7ieGbeug4bf737/UobqkpBV0=";
fetchSubmodules = true; fetchSubmodules = true;
}; };
installPhase = '' installPhase = ''
@ -316,6 +318,9 @@ let
| tar cf - --null --files-from - \ | tar cf - --null --files-from - \
| tar xf - -C $out/build | tar xf - -C $out/build
''; '';
cmakeFlags = [
(lib.cmakeFeature "GGML_BUILD_NUMBER" "1")
];
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];
buildInputs = [ opencv ]; buildInputs = [ opencv ];
}; };
@ -331,12 +336,12 @@ let
stdenv; stdenv;
pname = "local-ai"; pname = "local-ai";
version = "2.26.0"; version = "2.28.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "go-skynet"; owner = "go-skynet";
repo = "LocalAI"; repo = "LocalAI";
rev = "v${version}"; tag = "v${version}";
hash = "sha256-eHylgEbPNQ8CVLlstkeQH6jqYOKfvel1uU5ro8DkLJs="; hash = "sha256-Hpz0dGkgasSY/FGO7mDzqsLjXut0LdQ9PUXGaURUOlY=";
}; };
prepare-sources = prepare-sources =
@ -355,7 +360,7 @@ let
self = buildGo123Module.override { stdenv = effectiveStdenv; } { self = buildGo123Module.override { stdenv = effectiveStdenv; } {
inherit pname version src; inherit pname version src;
vendorHash = "sha256-6loR8bvt5BlijufUBVDpxNS/cVCMmbaCwEhYpJKwGys="; vendorHash = "sha256-1OY/y1AeL0K+vOU4Jk/cj7rToVLC9EkkNhgifB+icDM=";
env.NIX_CFLAGS_COMPILE = " -isystem ${opencv}/include/opencv4"; env.NIX_CFLAGS_COMPILE = " -isystem ${opencv}/include/opencv4";
@ -364,7 +369,6 @@ let
# TODO: add silero-vad # TODO: add silero-vad
sed -i Makefile \ sed -i Makefile \
-e '/mod download/ d' \ -e '/mod download/ d' \
-e '/^ALL_GRPC_BACKENDS+=backend-assets\/grpc\/llama-cpp-fallback/ d' \
-e '/^ALL_GRPC_BACKENDS+=backend-assets\/grpc\/llama-cpp-avx/ d' \ -e '/^ALL_GRPC_BACKENDS+=backend-assets\/grpc\/llama-cpp-avx/ d' \
-e '/^ALL_GRPC_BACKENDS+=backend-assets\/grpc\/llama-cpp-cuda/ d' \ -e '/^ALL_GRPC_BACKENDS+=backend-assets\/grpc\/llama-cpp-cuda/ d' \
-e '/^ALL_GRPC_BACKENDS+=backend-assets\/grpc\/silero-vad/ d' \ -e '/^ALL_GRPC_BACKENDS+=backend-assets\/grpc\/silero-vad/ d' \
@ -383,7 +387,7 @@ let
+ '' + ''
shopt -s extglob shopt -s extglob
mkdir -p backend-assets/grpc mkdir -p backend-assets/grpc
cp ${llama-cpp-grpc}/bin/grpc-server backend-assets/grpc/llama-cpp-avx2 cp ${llama-cpp-grpc}/bin/grpc-server backend-assets/grpc/llama-cpp-fallback
cp ${llama-cpp-rpc}/bin/grpc-server backend-assets/grpc/llama-cpp-grpc cp ${llama-cpp-rpc}/bin/grpc-server backend-assets/grpc/llama-cpp-grpc
mkdir -p backend/cpp/llama/llama.cpp mkdir -p backend/cpp/llama/llama.cpp

View file

@ -84,7 +84,7 @@ in
nodes.machine = { nodes.machine = {
imports = [ common-config ]; imports = [ common-config ];
virtualisation.cores = 2; virtualisation.cores = 2;
virtualisation.memorySize = 4096; virtualisation.memorySize = 3 * 4096;
services.local-ai.models = models; services.local-ai.models = models;
}; };
passthru = { passthru = {