@@ -5,7 +5,7 @@ BINARY_NAME=local-ai
5
5
6
6
GOLLAMA_VERSION? =10caf37d8b73386708b4373975b8917e6b212c0e
7
7
GPT4ALL_REPO? =https://github.com/nomic-ai/gpt4all
8
- GPT4ALL_VERSION? =337c7fecacfa4ae6779046513ab090687a5b0ef6
8
+ GPT4ALL_VERSION? =022f1cabe7dd2c911936b37510582f279069ba1e
9
9
GOGGMLTRANSFORMERS_VERSION? =13ccc22621bb21afecd38675a2b043498e2e756c
10
10
RWKV_REPO? =https://github.com/donomii/go-rwkv.cpp
11
11
RWKV_VERSION? =ccb05c3e1c6efd098017d114dcb58ab3262b40b2
@@ -63,22 +63,13 @@ gpt4all:
63
63
git clone --recurse-submodules $(GPT4ALL_REPO ) gpt4all
64
64
cd gpt4all && git checkout -b build $(GPT4ALL_VERSION ) && git submodule update --init --recursive --depth 1
65
65
# This is hackish, but needed as both go-llama and go-gpt4allj have their own version of ggml..
66
- @find ./gpt4all -type f -name " *.c" -exec sed -i' ' -e ' s/ggml_/ggml_gptj_/g' {} +
67
- @find ./gpt4all -type f -name " *.cpp" -exec sed -i' ' -e ' s/ggml_/ggml_gptj_/g' {} +
68
- @find ./gpt4all -type f -name " *.h" -exec sed -i' ' -e ' s/ggml_/ggml_gptj_/g' {} +
69
- @find ./gpt4all -type f -name " *.cpp" -exec sed -i' ' -e ' s/gpt_/gptj_/g' {} +
70
- @find ./gpt4all -type f -name " *.h" -exec sed -i' ' -e ' s/gpt_/gptj_/g' {} +
71
- @find ./gpt4all -type f -name " *.h" -exec sed -i' ' -e ' s/set_console_color/set_gptj_console_color/g' {} +
72
- @find ./gpt4all -type f -name " *.cpp" -exec sed -i' ' -e ' s/set_console_color/set_gptj_console_color/g' {} +
73
- @find ./gpt4all -type f -name " *.cpp" -exec sed -i' ' -e ' s/llama_/gptjllama_/g' {} +
74
- @find ./gpt4all -type f -name " *.go" -exec sed -i' ' -e ' s/llama_/gptjllama_/g' {} +
75
- @find ./gpt4all -type f -name " *.h" -exec sed -i' ' -e ' s/llama_/gptjllama_/g' {} +
76
- @find ./gpt4all -type f -name " *.txt" -exec sed -i' ' -e ' s/llama_/gptjllama_/g' {} +
77
- @find ./gpt4all -type f -name " *.cpp" -exec sed -i' ' -e ' s/json_/json_gptj_/g' {} +
78
- @find ./gpt4all -type f -name " *.cpp" -exec sed -i' ' -e ' s/void replace/void json_gptj_replace/g' {} +
79
- @find ./gpt4all -type f -name " *.cpp" -exec sed -i' ' -e ' s/::replace/::json_gptj_replace/g' {} +
80
- @find ./gpt4all -type f -name " *.cpp" -exec sed -i' ' -e ' s/regex_escape/gpt4allregex_escape/g' {} +
81
- mv ./gpt4all/gpt4all-backend/llama.cpp/llama_util.h ./gpt4all/gpt4all-backend/llama.cpp/gptjllama_util.h
66
+ @find ./gpt4all -type f -name " *.c" -exec sed -i' ' -e ' s/ggml_/ggml_gpt4all_/g' {} +
67
+ @find ./gpt4all -type f -name " *.cpp" -exec sed -i' ' -e ' s/ggml_/ggml_gpt4all_/g' {} +
68
+ @find ./gpt4all -type f -name " *.h" -exec sed -i' ' -e ' s/ggml_/ggml_gpt4all_/g' {} +
69
+ @find ./gpt4all/gpt4all-bindings/golang -type f -name " *.cpp" -exec sed -i' ' -e ' s/load_model/load_gpt4all_model/g' {} +
70
+ @find ./gpt4all/gpt4all-bindings/golang -type f -name " *.go" -exec sed -i' ' -e ' s/load_model/load_gpt4all_model/g' {} +
71
+ @find ./gpt4all/gpt4all-bindings/golang -type f -name " *.h" -exec sed -i' ' -e ' s/load_model/load_gpt4all_model/g' {} +
72
+
82
73
83
74
# # BERT embeddings
84
75
go-bert :
@@ -124,6 +115,12 @@ bloomz/libbloomz.a: bloomz
124
115
go-bert/libgobert.a : go-bert
125
116
$(MAKE ) -C go-bert libgobert.a
126
117
118
+ backend-assets/gpt4all : gpt4all/gpt4all-bindings/golang/libgpt4all.a
119
+ mkdir -p backend-assets/gpt4all
120
+ @cp gpt4all/gpt4all-bindings/golang/buildllm/* .so backend-assets/gpt4all/ || true
121
+ @cp gpt4all/gpt4all-bindings/golang/buildllm/* .dylib backend-assets/gpt4all/ || true
122
+ @cp gpt4all/gpt4all-bindings/golang/buildllm/* .dll backend-assets/gpt4all/ || true
123
+
127
124
gpt4all/gpt4all-bindings/golang/libgpt4all.a : gpt4all
128
125
$(MAKE ) -C gpt4all/gpt4all-bindings/golang/ libgpt4all.a
129
126
@@ -188,14 +185,15 @@ rebuild: ## Rebuilds the project
188
185
$(MAKE ) -C bloomz clean
189
186
$(MAKE ) build
190
187
191
- prepare : prepare-sources gpt4all/gpt4all-bindings/golang/libgpt4all.a $(OPTIONAL_TARGETS ) go-llama/libbinding.a go-bert/libgobert.a go-ggml-transformers/libtransformers.a go-rwkv/librwkv.a whisper.cpp/libwhisper.a bloomz/libbloomz.a # # Prepares for building
188
+ prepare : prepare-sources backend-assets/gpt4all $(OPTIONAL_TARGETS ) go-llama/libbinding.a go-bert/libgobert.a go-ggml-transformers/libtransformers.a go-rwkv/librwkv.a whisper.cpp/libwhisper.a bloomz/libbloomz.a # # Prepares for building
192
189
193
190
clean : # # Remove build related file
194
191
rm -fr ./go-llama
195
192
rm -rf ./gpt4all
196
193
rm -rf ./go-gpt2
197
194
rm -rf ./go-stable-diffusion
198
195
rm -rf ./go-ggml-transformers
196
+ rm -rf ./backend-assets
199
197
rm -rf ./go-rwkv
200
198
rm -rf ./go-bert
201
199
rm -rf ./bloomz
0 commit comments