mirror of
https://github.com/mudler/LocalAI.git
synced 2025-05-20 02:24:59 +00:00

Some checks failed
Security Scan / tests (push) Has been cancelled
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
46 lines
No EOL
1.8 KiB
Bash
46 lines
No EOL
1.8 KiB
Bash
#!/bin/bash
|
|
|
|
## Patches
|
|
## Apply patches from the `patches` directory
|
|
for patch in $(ls patches); do
|
|
echo "Applying patch $patch"
|
|
patch -d llama.cpp/ -p1 < patches/$patch
|
|
done
|
|
|
|
set -e
|
|
|
|
cp -r CMakeLists.txt llama.cpp/tools/grpc-server/
|
|
cp -r grpc-server.cpp llama.cpp/tools/grpc-server/
|
|
cp -rfv llama.cpp/common/json.hpp llama.cpp/tools/grpc-server/
|
|
cp -rfv llama.cpp/tools/server/utils.hpp llama.cpp/tools/grpc-server/
|
|
cp -rfv llama.cpp/tools/server/httplib.h llama.cpp/tools/grpc-server/
|
|
|
|
set +e
|
|
if grep -q "grpc-server" llama.cpp/tools/CMakeLists.txt; then
|
|
echo "grpc-server already added"
|
|
else
|
|
echo "add_subdirectory(grpc-server)" >> llama.cpp/tools/CMakeLists.txt
|
|
fi
|
|
set -e
|
|
|
|
# Now to keep maximum compatibility with the original server.cpp, we need to remove the index.html.gz.hpp and loading.html.hpp includes
|
|
# and remove the main function
|
|
# TODO: upstream this to the original server.cpp by extracting the upstream main function to a separate file
|
|
awk '
|
|
/int[ \t]+main[ \t]*\(/ { # If the line starts the main function
|
|
in_main=1; # Set a flag
|
|
open_braces=0; # Track number of open braces
|
|
}
|
|
in_main {
|
|
open_braces += gsub(/\{/, "{"); # Count opening braces
|
|
open_braces -= gsub(/\}/, "}"); # Count closing braces
|
|
if (open_braces == 0) { # If all braces are closed
|
|
in_main=0; # End skipping
|
|
}
|
|
next; # Skip lines inside main
|
|
}
|
|
!in_main # Print lines not inside main
|
|
' "llama.cpp/tools/server/server.cpp" > llama.cpp/tools/grpc-server/server.cpp
|
|
|
|
# remove index.html.gz.hpp and loading.html.hpp includes
|
|
sed -i '/#include "index\.html\.gz\.hpp"/d; /#include "loading\.html\.hpp"/d' llama.cpp/tools/grpc-server/server.cpp |