app : enable self-update only when built with llama-install.sh (#24754)
Signed-off-by: Adrien Gallouët <angt@huggingface.co>
This commit is contained in:
+15
-2
@@ -20,16 +20,21 @@ int llama_fit_params(int argc, char ** argv);
|
|||||||
int llama_quantize(int argc, char ** argv);
|
int llama_quantize(int argc, char ** argv);
|
||||||
int llama_perplexity(int argc, char ** argv);
|
int llama_perplexity(int argc, char ** argv);
|
||||||
|
|
||||||
// hands the update over to the install script, which downloads and swaps the binary
|
// Self-update is only supported for binaries built with llama-install.sh
|
||||||
static int llama_update(int argc, char ** argv) {
|
static int llama_update(int argc, char ** argv) {
|
||||||
(void) argc;
|
(void) argc;
|
||||||
(void) argv;
|
(void) argv;
|
||||||
|
|
||||||
|
#ifdef LLAMA_INSTALL_BUILD
|
||||||
#if defined(_WIN32)
|
#if defined(_WIN32)
|
||||||
return system("powershell -NoProfile -ExecutionPolicy Bypass -Command \"irm https://llama.app/install.ps1 | iex\"");
|
return system("powershell -NoProfile -ExecutionPolicy Bypass -Command \"irm https://llama.app/install.ps1 | iex\"");
|
||||||
#else
|
#else
|
||||||
return system("curl -fsSL https://llama.app/install.sh | sh");
|
return system("curl -fsSL https://llama.app/install.sh | sh");
|
||||||
#endif
|
#endif
|
||||||
|
#else
|
||||||
|
printf("Updates are available only when installed from https://llama.app\n");
|
||||||
|
return 1;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static const char * progname;
|
static const char * progname;
|
||||||
@@ -46,10 +51,16 @@ struct command {
|
|||||||
int (*func)(int, char **);
|
int (*func)(int, char **);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#ifdef LLAMA_INSTALL_BUILD
|
||||||
|
#define UPDATE_HIDDEN false
|
||||||
|
#else
|
||||||
|
#define UPDATE_HIDDEN true
|
||||||
|
#endif
|
||||||
|
|
||||||
static const command cmds[] = {
|
static const command cmds[] = {
|
||||||
{"serve", "HTTP API server", {"server"}, false, llama_server },
|
{"serve", "HTTP API server", {"server"}, false, llama_server },
|
||||||
{"cli", "Command-line interactive interface", {"client"}, false, llama_cli },
|
{"cli", "Command-line interactive interface", {"client"}, false, llama_cli },
|
||||||
{"update", "Update llama to the latest release", {}, false, llama_update },
|
{"update", "Update llama to the latest release", {}, UPDATE_HIDDEN, llama_update },
|
||||||
{"completion", "Text completion", {"complete"}, true, llama_completion },
|
{"completion", "Text completion", {"complete"}, true, llama_completion },
|
||||||
{"bench", "Benchmark prompt processing and text generation", {}, true, llama_bench },
|
{"bench", "Benchmark prompt processing and text generation", {}, true, llama_bench },
|
||||||
{"batched-bench", "Benchmark batched decoding performance", {}, true, llama_batched_bench},
|
{"batched-bench", "Benchmark batched decoding performance", {}, true, llama_batched_bench},
|
||||||
@@ -61,6 +72,8 @@ static const command cmds[] = {
|
|||||||
{"help", "Show available commands", {}, false, help },
|
{"help", "Show available commands", {}, false, help },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#undef UPDATE_HIDDEN
|
||||||
|
|
||||||
static int version(int argc, char ** argv) {
|
static int version(int argc, char ** argv) {
|
||||||
printf("%s\n", llama_build_info());
|
printf("%s\n", llama_build_info());
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user