@@ -6,9 +6,7 @@ BINARY_NAME=local-ai
6
6
DETECT_LIBS? =true
7
7
8
8
# llama.cpp versions
9
- GOLLAMA_REPO? =https://github.com/go-skynet/go-llama.cpp
10
- GOLLAMA_VERSION? =2b57a8ae43e4699d3dc5d1496a1ccd42922993be
11
- CPPLLAMA_VERSION? =6152129d05870cb38162c422c6ba80434e021e9f
9
+ CPPLLAMA_VERSION? =d2fe216fb2fb7ca8627618c9ea3a2e7886325780
12
10
13
11
# whisper.cpp version
14
12
WHISPER_REPO? =https://github.com/ggerganov/whisper.cpp
@@ -24,7 +22,7 @@ BARKCPP_VERSION?=v1.0.0
24
22
25
23
# stablediffusion.cpp (ggml)
26
24
STABLEDIFFUSION_GGML_REPO? =https://github.com/leejet/stable-diffusion.cpp
27
- STABLEDIFFUSION_GGML_VERSION? =5eb15ef4d022bef4a391de4f5f6556e81fbb5024
25
+ STABLEDIFFUSION_GGML_VERSION? =d46ed5e184b97c2018dc2e8105925bdb8775e02c
28
26
29
27
ONNX_VERSION? =1.20.0
30
28
ONNX_ARCH? =x64
@@ -151,7 +149,6 @@ ifeq ($(BUILD_TYPE),hipblas)
151
149
LD_LIBRARY_PATH ?= /opt/rocm/lib:/opt/rocm/llvm/lib
152
150
export CXX=$(ROCM_HOME)/llvm/bin/clang++
153
151
export CC=$(ROCM_HOME)/llvm/bin/clang
154
- # llama-ggml has no hipblas support, so override it here.
155
152
export STABLE_BUILD_TYPE=
156
153
export GGML_HIP=1
157
154
GPU_TARGETS ?= gfx900,gfx906,gfx908,gfx940,gfx941,gfx942,gfx90a,gfx1030,gfx1031,gfx1100,gfx1101
@@ -186,8 +183,8 @@ endif
186
183
ALL_GRPC_BACKENDS =backend-assets/grpc/huggingface
187
184
ALL_GRPC_BACKENDS+ =backend-assets/grpc/llama-cpp-avx
188
185
ALL_GRPC_BACKENDS+ =backend-assets/grpc/llama-cpp-avx2
186
+ ALL_GRPC_BACKENDS+ =backend-assets/grpc/llama-cpp-avx512
189
187
ALL_GRPC_BACKENDS+ =backend-assets/grpc/llama-cpp-fallback
190
- ALL_GRPC_BACKENDS+ =backend-assets/grpc/llama-ggml
191
188
ALL_GRPC_BACKENDS+ =backend-assets/grpc/llama-cpp-grpc
192
189
ALL_GRPC_BACKENDS+ =backend-assets/util/llama-cpp-rpc-server
193
190
ALL_GRPC_BACKENDS+ =backend-assets/grpc/whisper
@@ -221,19 +218,6 @@ endif
221
218
222
219
all : help
223
220
224
- # # go-llama.cpp
225
- sources/go-llama.cpp :
226
- mkdir -p sources/go-llama.cpp
227
- cd sources/go-llama.cpp && \
228
- git init && \
229
- git remote add origin $(GOLLAMA_REPO ) && \
230
- git fetch origin && \
231
- git checkout $(GOLLAMA_VERSION ) && \
232
- git submodule update --init --recursive --depth 1 --single-branch
233
-
234
- sources/go-llama.cpp/libbinding.a : sources/go-llama.cpp
235
- $(MAKE ) -C sources/go-llama.cpp BUILD_TYPE=$(STABLE_BUILD_TYPE ) libbinding.a
236
-
237
221
# # bark.cpp
238
222
sources/bark.cpp :
239
223
git clone --recursive $(BARKCPP_REPO ) sources/bark.cpp && \
@@ -309,27 +293,24 @@ sources/whisper.cpp:
309
293
sources/whisper.cpp/libwhisper.a : sources/whisper.cpp
310
294
cd sources/whisper.cpp && $(MAKE ) libwhisper.a libggml.a
311
295
312
- get-sources : sources/go-llama.cpp sources/go- piper sources/stablediffusion-ggml.cpp sources/bark.cpp sources/whisper.cpp backend/cpp/llama/llama.cpp
296
+ get-sources : sources/go-piper sources/stablediffusion-ggml.cpp sources/bark.cpp sources/whisper.cpp backend/cpp/llama/llama.cpp
313
297
314
298
replace :
315
299
$(GOCMD ) mod edit -replace github.com/ggerganov/whisper.cpp=$(CURDIR ) /sources/whisper.cpp
316
300
$(GOCMD ) mod edit -replace github.com/ggerganov/whisper.cpp/bindings/go=$(CURDIR ) /sources/whisper.cpp/bindings/go
317
301
$(GOCMD ) mod edit -replace github.com/mudler/go-piper=$(CURDIR ) /sources/go-piper
318
- $(GOCMD ) mod edit -replace github.com/go-skynet/go-llama.cpp=$(CURDIR ) /sources/go-llama.cpp
319
302
320
303
dropreplace :
321
304
$(GOCMD ) mod edit -dropreplace github.com/ggerganov/whisper.cpp
322
305
$(GOCMD ) mod edit -dropreplace github.com/ggerganov/whisper.cpp/bindings/go
323
306
$(GOCMD ) mod edit -dropreplace github.com/mudler/go-piper
324
- $(GOCMD ) mod edit -dropreplace github.com/go-skynet/go-llama.cpp
325
307
326
308
prepare-sources : get-sources replace
327
309
$(GOCMD ) mod download
328
310
329
311
# # GENERIC
330
312
rebuild : # # Rebuilds the project
331
313
$(GOCMD ) clean -cache
332
- $(MAKE ) -C sources/go-llama.cpp clean
333
314
$(MAKE ) -C sources/whisper.cpp clean
334
315
$(MAKE ) -C sources/go-piper clean
335
316
$(MAKE ) build
@@ -433,7 +414,7 @@ run: prepare ## run local-ai
433
414
test-models/testmodel.ggml :
434
415
mkdir test-models
435
416
mkdir test-dir
436
- wget -q https://huggingface.co/TheBloke/orca_mini_3B-GGML /resolve/main/orca-mini-3b.ggmlv3.q4_0.bin -O test-models/testmodel.ggml
417
+ wget -q https://huggingface.co/RichardErkhov/Qwen_-_Qwen2-1.5B-Instruct-gguf /resolve/main/Qwen2-1.5B-Instruct.Q2_K.gguf -O test-models/testmodel.ggml
437
418
wget -q https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-base.en.bin -O test-models/whisper-en
438
419
wget -q https://huggingface.co/mudler/all-MiniLM-L6-v2/resolve/main/ggml-model-q4_0.bin -O test-models/bert
439
420
wget -q https://cdn.openai.com/whisper/draft-20220913a/micro-machines.wav -O test-dir/audio.wav
@@ -448,8 +429,7 @@ test: prepare test-models/testmodel.ggml grpcs
448
429
export GO_TAGS=" tts debug"
449
430
$(MAKE ) prepare-test
450
431
HUGGINGFACE_GRPC=$(abspath ./) /backend/python/transformers/run.sh TEST_DIR=$(abspath ./) /test-dir/ FIXTURES=$(abspath ./) /tests/fixtures CONFIG_FILE=$(abspath ./) /test-models/config.yaml MODELS_PATH=$(abspath ./) /test-models \
451
- $(GOCMD ) run github.com/onsi/ginkgo/v2/ginkgo --label-filter=" !llama && !llama-gguf" --flake-attempts $(TEST_FLAKES ) --fail-fast -v -r $(TEST_PATHS )
452
- $(MAKE ) test-llama
432
+ $(GOCMD ) run github.com/onsi/ginkgo/v2/ginkgo --label-filter=" !llama-gguf" --flake-attempts $(TEST_FLAKES ) --fail-fast -v -r $(TEST_PATHS )
453
433
$(MAKE ) test-llama-gguf
454
434
$(MAKE ) test-tts
455
435
$(MAKE ) test-stablediffusion
@@ -478,10 +458,6 @@ teardown-e2e:
478
458
rm -rf $(TEST_DIR ) || true
479
459
docker stop $$(docker ps -q --filter ancestor=localai-tests )
480
460
481
- test-llama : prepare-test
482
- TEST_DIR=$(abspath ./) /test-dir/ FIXTURES=$(abspath ./) /tests/fixtures CONFIG_FILE=$(abspath ./) /test-models/config.yaml MODELS_PATH=$(abspath ./) /test-models \
483
- $(GOCMD ) run github.com/onsi/ginkgo/v2/ginkgo --label-filter=" llama" --flake-attempts $(TEST_FLAKES ) -v -r $(TEST_PATHS )
484
-
485
461
test-llama-gguf : prepare-test
486
462
TEST_DIR=$(abspath ./) /test-dir/ FIXTURES=$(abspath ./) /tests/fixtures CONFIG_FILE=$(abspath ./) /test-models/config.yaml MODELS_PATH=$(abspath ./) /test-models \
487
463
$(GOCMD ) run github.com/onsi/ginkgo/v2/ginkgo --label-filter=" llama-gguf" --flake-attempts $(TEST_FLAKES ) -v -r $(TEST_PATHS )
@@ -699,6 +675,13 @@ backend-assets/grpc/llama-cpp-avx2: backend-assets/grpc backend/cpp/llama/llama.
699
675
CMAKE_ARGS=" $( CMAKE_ARGS) -DGGML_AVX=on -DGGML_AVX2=on -DGGML_AVX512=off -DGGML_FMA=on -DGGML_F16C=on" $(MAKE ) VARIANT=" llama-avx2" build-llama-cpp-grpc-server
700
676
cp -rfv backend/cpp/llama-avx2/grpc-server backend-assets/grpc/llama-cpp-avx2
701
677
678
+ backend-assets/grpc/llama-cpp-avx512 : backend-assets/grpc backend/cpp/llama/llama.cpp
679
+ cp -rf backend/cpp/llama backend/cpp/llama-avx512
680
+ $(MAKE ) -C backend/cpp/llama-avx512 purge
681
+ $(info ${GREEN}I llama-cpp build info:avx512${RESET})
682
+ CMAKE_ARGS=" $( CMAKE_ARGS) -DGGML_AVX=on -DGGML_AVX2=off -DGGML_AVX512=on -DGGML_FMA=on -DGGML_F16C=on" $(MAKE ) VARIANT=" llama-avx512" build-llama-cpp-grpc-server
683
+ cp -rfv backend/cpp/llama-avx512/grpc-server backend-assets/grpc/llama-cpp-avx512
684
+
702
685
backend-assets/grpc/llama-cpp-avx : backend-assets/grpc backend/cpp/llama/llama.cpp
703
686
cp -rf backend/cpp/llama backend/cpp/llama-avx
704
687
$(MAKE ) -C backend/cpp/llama-avx purge
@@ -752,13 +735,6 @@ backend-assets/util/llama-cpp-rpc-server: backend-assets/grpc/llama-cpp-grpc
752
735
mkdir -p backend-assets/util/
753
736
cp -rf backend/cpp/llama-grpc/llama.cpp/build/bin/rpc-server backend-assets/util/llama-cpp-rpc-server
754
737
755
- backend-assets/grpc/llama-ggml : sources/go-llama.cpp sources/go-llama.cpp/libbinding.a backend-assets/grpc
756
- CGO_LDFLAGS=" $( CGO_LDFLAGS) " C_INCLUDE_PATH=$(CURDIR ) /sources/go-llama.cpp LIBRARY_PATH=$(CURDIR ) /sources/go-llama.cpp \
757
- $(GOCMD ) build -ldflags " $( LD_FLAGS) " -tags " $( GO_TAGS) " -o backend-assets/grpc/llama-ggml ./backend/go/llm/llama-ggml/
758
- ifneq ($(UPX ) ,)
759
- $(UPX) backend-assets/grpc/llama-ggml
760
- endif
761
-
762
738
backend-assets/grpc/bark-cpp : backend/go/bark/libbark.a backend-assets/grpc
763
739
CGO_LDFLAGS=" $( CGO_LDFLAGS) " C_INCLUDE_PATH=$(CURDIR ) /backend/go/bark/ LIBRARY_PATH=$(CURDIR ) /backend/go/bark/ \
764
740
$(GOCMD ) build -ldflags " $( LD_FLAGS) " -tags " $( GO_TAGS) " -o backend-assets/grpc/bark-cpp ./backend/go/bark/
@@ -853,7 +829,7 @@ swagger:
853
829
854
830
.PHONY : gen-assets
855
831
gen-assets :
856
- $(GOCMD ) run core/dependencies_manager/manager.go embedded/ webui_static.yaml core/http/static/assets
832
+ $(GOCMD ) run core/dependencies_manager/manager.go webui_static.yaml core/http/static/assets
857
833
858
834
# # Documentation
859
835
docs/layouts/_default :
0 commit comments