Skip to content

Commit 2aabc34

Browse files
authored
Merge branch 'master' into codespace-special-journey-7vxp576w5xxrcjw7
2 parents d6e046b + d7e1922 commit 2aabc34

File tree

25 files changed

+1283
-122
lines changed

25 files changed

+1283
-122
lines changed

Dockerfile

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ ARG TARGETARCH
2424
ARG TARGETVARIANT
2525
ENV BUILD_TYPE=${BUILD_TYPE}
2626

27+
RUN mkdir -p /run/localai
28+
2729
# Vulkan requirements
2830
RUN <<EOT bash
2931
if [ "${BUILD_TYPE}" = "vulkan" ] && [ "${SKIP_DRIVERS}" = "false" ]; then
@@ -36,7 +38,8 @@ RUN <<EOT bash
3638
apt-get install -y \
3739
vulkan-sdk && \
3840
apt-get clean && \
39-
rm -rf /var/lib/apt/lists/*
41+
rm -rf /var/lib/apt/lists/* && \
42+
echo "vulkan" > /run/localai/capability
4043
fi
4144
EOT
4245

@@ -63,7 +66,8 @@ RUN <<EOT bash
6366
libcusparse-dev-${CUDA_MAJOR_VERSION}-${CUDA_MINOR_VERSION} \
6467
libcusolver-dev-${CUDA_MAJOR_VERSION}-${CUDA_MINOR_VERSION} && \
6568
apt-get clean && \
66-
rm -rf /var/lib/apt/lists/*
69+
rm -rf /var/lib/apt/lists/* && \
70+
echo "nvidia" > /run/localai/capability
6771
fi
6872
EOT
6973

@@ -83,6 +87,7 @@ RUN if [ "${BUILD_TYPE}" = "hipblas" ] && [ "${SKIP_DRIVERS}" = "false" ]; then
8387
rocblas-dev && \
8488
apt-get clean && \
8589
rm -rf /var/lib/apt/lists/* && \
90+
echo "amd" > /run/localai/capability && \
8691
# I have no idea why, but the ROCM lib packages don't trigger ldconfig after they install, which results in local-ai and others not being able
8792
# to locate the libraries. We run ldconfig ourselves to work around this packaging deficiency
8893
ldconfig \

Makefile

Lines changed: 24 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,26 +6,27 @@ BINARY_NAME=local-ai
66
DETECT_LIBS?=true
77

88
# llama.cpp versions
9-
CPPLLAMA_VERSION?=0a5a3b5cdfd887cf0f8e09d9ff89dee130cfcdde
9+
CPPLLAMA_VERSION?=c31e60647def83d671bac5ab5b35579bf25d9aa1
1010

1111
# whisper.cpp version
1212
WHISPER_REPO?=https://github.com/ggml-org/whisper.cpp
13-
WHISPER_CPP_VERSION?=c88ffbf9baeaae8c2cc0a4f496618314bb2ee9e0
13+
WHISPER_CPP_VERSION?=3775c503d5133d3d8b99d7d062e87a54064b0eb8
1414

1515
# go-piper version
1616
PIPER_REPO?=https://github.com/mudler/go-piper
1717
PIPER_VERSION?=e10ca041a885d4a8f3871d52924b47792d5e5aa0
1818

1919
# bark.cpp
2020
BARKCPP_REPO?=https://github.com/PABannier/bark.cpp.git
21-
BARKCPP_VERSION?=v1.0.0
21+
BARKCPP_VERSION?=5d5be84f089ab9ea53b7a793f088d3fbf7247495
2222

2323
# stablediffusion.cpp (ggml)
2424
STABLEDIFFUSION_GGML_REPO?=https://github.com/richiejp/stable-diffusion.cpp
2525
STABLEDIFFUSION_GGML_VERSION?=53e3b17eb3d0b5760ced06a1f98320b68b34aaae
2626

2727
# ONEAPI variables for SYCL
2828
export ONEAPI_VARS?=/opt/intel/oneapi/setvars.sh
29+
ONEAPI_VERSION=2025.1
2930

3031
ONNX_VERSION?=1.20.0
3132
ONNX_ARCH?=x64
@@ -170,11 +171,20 @@ endif
170171
ifneq (,$(findstring sycl,$(BUILD_TYPE)))
171172
export GGML_SYCL=1
172173
CMAKE_ARGS+=-DGGML_SYCL=ON
174+
WHISPER_CMAKE_ARGS+=-DGGML_SYCL=ON -DCMAKE_C_COMPILER=icx -DCMAKE_CXX_COMPILER=icpx
175+
export CC=icx
176+
export CXX=icpx
177+
CGO_LDFLAGS_WHISPER += -fsycl -L${DNNLROOT}/lib -rpath ${ONEAPI_ROOT}/${ONEAPI_VERSION}/lib -ldnnl ${MKLROOT}/lib/intel64/libmkl_sycl.a -fiopenmp -fopenmp-targets=spir64 -lOpenCL -lggml-sycl
178+
CGO_LDFLAGS_WHISPER += $(shell pkg-config --libs mkl-static-lp64-gomp)
179+
CGO_CXXFLAGS_WHISPER += -fiopenmp -fopenmp-targets=spir64
180+
CGO_CXXFLAGS_WHISPER += $(shell pkg-config --cflags mkl-static-lp64-gomp )
181+
export WHISPER_LIBRARY_PATH:=$(WHISPER_LIBRARY_PATH):$(WHISPER_DIR)/build/ggml/src/ggml-sycl/
173182
endif
174183

175184
ifeq ($(BUILD_TYPE),sycl_f16)
176185
export GGML_SYCL_F16=1
177186
CMAKE_ARGS+=-DGGML_SYCL_F16=ON
187+
WHISPER_CMAKE_ARGS+=-DGGML_SYCL_F16=ON
178188
endif
179189

180190
ifeq ($(BUILD_TYPE),hipblas)
@@ -265,8 +275,8 @@ sources/bark.cpp/build/libbark.a: sources/bark.cpp
265275
cmake $(CMAKE_ARGS) .. && \
266276
cmake --build . --config Release
267277

268-
backend/go/bark/libbark.a: sources/bark.cpp/build/libbark.a
269-
$(MAKE) -C backend/go/bark libbark.a
278+
backend/go/bark-cpp/libbark.a: sources/bark.cpp/build/libbark.a
279+
$(MAKE) -C backend/go/bark-cpp libbark.a
270280

271281
## go-piper
272282
sources/go-piper:
@@ -355,7 +365,7 @@ clean: ## Remove build related file
355365
rm -rf release/
356366
rm -rf backend-assets/*
357367
$(MAKE) -C backend/cpp/grpc clean
358-
$(MAKE) -C backend/go/bark clean
368+
$(MAKE) -C backend/go/bark-cpp clean
359369
$(MAKE) -C backend/cpp/llama clean
360370
$(MAKE) -C backend/go/image/stablediffusion-ggml clean
361371
rm -rf backend/cpp/llama-* || true
@@ -778,9 +788,9 @@ backend-assets/util/llama-cpp-rpc-server: backend-assets/grpc/llama-cpp-grpc
778788
mkdir -p backend-assets/util/
779789
cp -rf backend/cpp/llama-grpc/llama.cpp/build/bin/rpc-server backend-assets/util/llama-cpp-rpc-server
780790

781-
backend-assets/grpc/bark-cpp: backend/go/bark/libbark.a backend-assets/grpc
782-
CGO_LDFLAGS="$(CGO_LDFLAGS)" C_INCLUDE_PATH=$(CURDIR)/backend/go/bark/ LIBRARY_PATH=$(CURDIR)/backend/go/bark/ \
783-
$(GOCMD) build -ldflags "$(LD_FLAGS)" -tags "$(GO_TAGS)" -o backend-assets/grpc/bark-cpp ./backend/go/bark/
791+
backend-assets/grpc/bark-cpp: backend/go/bark-cpp/libbark.a backend-assets/grpc
792+
CGO_LDFLAGS="$(CGO_LDFLAGS)" C_INCLUDE_PATH=$(CURDIR)/backend/go/bark-cpp/ LIBRARY_PATH=$(CURDIR)/backend/go/bark-cpp/ \
793+
$(GOCMD) build -ldflags "$(LD_FLAGS)" -tags "$(GO_TAGS)" -o backend-assets/grpc/bark-cpp ./backend/go/bark-cpp/
784794
ifneq ($(UPX),)
785795
$(UPX) backend-assets/grpc/bark-cpp
786796
endif
@@ -801,6 +811,7 @@ endif
801811

802812
backend-assets/grpc/whisper: sources/whisper.cpp sources/whisper.cpp/build/src/libwhisper.a backend-assets/grpc
803813
CGO_LDFLAGS="$(CGO_LDFLAGS) $(CGO_LDFLAGS_WHISPER)" C_INCLUDE_PATH="${WHISPER_INCLUDE_PATH}" LIBRARY_PATH="${WHISPER_LIBRARY_PATH}" LD_LIBRARY_PATH="${WHISPER_LIBRARY_PATH}" \
814+
CGO_CXXFLAGS="$(CGO_CXXFLAGS_WHISPER)" \
804815
$(GOCMD) build -ldflags "$(LD_FLAGS)" -tags "$(GO_TAGS)" -o backend-assets/grpc/whisper ./backend/go/transcribe/whisper
805816
ifneq ($(UPX),)
806817
$(UPX) backend-assets/grpc/whisper
@@ -852,18 +863,20 @@ docker-aio-all:
852863

853864
docker-image-intel:
854865
docker build \
855-
--build-arg BASE_IMAGE=intel/oneapi-basekit:2025.1.0-0-devel-ubuntu24.04 \
866+
--build-arg BASE_IMAGE=intel/oneapi-basekit:${ONEAPI_VERSION}.0-0-devel-ubuntu24.04 \
856867
--build-arg IMAGE_TYPE=$(IMAGE_TYPE) \
857868
--build-arg GO_TAGS="$(GO_TAGS)" \
858869
--build-arg MAKEFLAGS="$(DOCKER_MAKEFLAGS)" \
870+
--build-arg GRPC_BACKENDS="$(GRPC_BACKENDS)" \
859871
--build-arg BUILD_TYPE=sycl_f32 -t $(DOCKER_IMAGE) .
860872

861873
docker-image-intel-xpu:
862874
docker build \
863-
--build-arg BASE_IMAGE=intel/oneapi-basekit:2025.1.0-0-devel-ubuntu22.04 \
875+
--build-arg BASE_IMAGE=intel/oneapi-basekit:${ONEAPI_VERSION}.0-0-devel-ubuntu22.04 \
864876
--build-arg IMAGE_TYPE=$(IMAGE_TYPE) \
865877
--build-arg GO_TAGS="$(GO_TAGS)" \
866878
--build-arg MAKEFLAGS="$(DOCKER_MAKEFLAGS)" \
879+
--build-arg GRPC_BACKENDS="$(GRPC_BACKENDS)" \
867880
--build-arg BUILD_TYPE=sycl_f32 -t $(DOCKER_IMAGE) .
868881

869882
.PHONY: swagger

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<h1 align="center">
22
<br>
3-
<img height="300" src="./core/http/static/logo.png"> <br>
3+
<img width="300" src="./core/http/static/logo.png"> <br>
44
<br>
55
</h1>
66

backend/Dockerfile.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -123,9 +123,9 @@ EOT
123123

124124
COPY . /LocalAI
125125

126-
RUN cd /LocalAI && make backend-assets/grpc/bark-cpp
126+
RUN cd /LocalAI && make backend-assets/grpc/${BACKEND}
127127

128128
FROM scratch
129129

130-
COPY --from=builder /LocalAI/backend-assets/grpc/bark-cpp ./
131-
COPY --from=builder /LocalAI/backend/go/bark/run.sh ./
130+
COPY --from=builder /LocalAI/backend-assets/grpc/${BACKEND} ./
131+
COPY --from=builder /LocalAI/backend/go/${BACKEND}/run.sh ./
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)