params.public_path = value;
}
).set_examples({LLAMA_EXAMPLE_SERVER}).set_env("LLAMA_ARG_STATIC_PATH"));
+ add_opt(common_arg(
+ {"--no-webui"},
+ string_format("Disable the Web UI (default: %s)", params.webui ? "enabled" : "disabled"),
+ [](common_params & params) {
+ params.webui = false;
+ }
+ ).set_examples({LLAMA_EXAMPLE_SERVER}).set_env("LLAMA_ARG_NO_WEBUI"));
add_opt(common_arg(
{"--embedding", "--embeddings"},
string_format("restrict to only support embedding use case; use only with dedicated embedding models (default: %s)", params.embedding ? "enabled" : "disabled"),
| `--host HOST` | ip address to listen (default: 127.0.0.1)<br/>(env: LLAMA_ARG_HOST) |
| `--port PORT` | port to listen (default: 8080)<br/>(env: LLAMA_ARG_PORT) |
| `--path PATH` | path to serve static files from (default: )<br/>(env: LLAMA_ARG_STATIC_PATH) |
+| `--no-webui` | disable the Web UI<br/>(env: LLAMA_ARG_NO_WEBUI) |
| `--embedding, --embeddings` | restrict to only support embedding use case; use only with dedicated embedding models (default: disabled)<br/>(env: LLAMA_ARG_EMBEDDINGS) |
| `--reranking, --rerank` | enable reranking endpoint on server (default: disabled)<br/>(env: LLAMA_ARG_RERANKING) |
| `--api-key KEY` | API key to use for authentication (default: none)<br/>(env: LLAMA_API_KEY) |
// Router
//
- // register static assets routes
- if (!params.public_path.empty()) {
- // Set the base directory for serving static files
- bool is_found = svr->set_mount_point("/", params.public_path);
- if (!is_found) {
- LOG_ERR("%s: static assets path not found: %s\n", __func__, params.public_path.c_str());
- return 1;
- }
+ if (!params.webui) {
+ LOG_INF("Web UI is disabled\n");
} else {
- // using embedded static index.html
- svr->Get("/", [](const httplib::Request &, httplib::Response & res) {
- res.set_content(reinterpret_cast<const char*>(index_html), index_html_len, "text/html; charset=utf-8");
- return false;
- });
+ // register static assets routes
+ if (!params.public_path.empty()) {
+ // Set the base directory for serving static files
+ bool is_found = svr->set_mount_point("/", params.public_path);
+ if (!is_found) {
+ LOG_ERR("%s: static assets path not found: %s\n", __func__, params.public_path.c_str());
+ return 1;
+ }
+ } else {
+ // using embedded static index.html
+ svr->Get("/", [](const httplib::Request &, httplib::Response & res) {
+ res.set_content(reinterpret_cast<const char*>(index_html), index_html_len, "text/html; charset=utf-8");
+ return false;
+ });
+ }
}
// register API routes
import pytest
+import requests
from utils import *
server = ServerPreset.tinyllama2()
})
assert res.status_code == 200
assert match_regex("(little|girl)+", res.body["content"])
+
+
+def test_no_webui():
+ global server
+ # default: webui enabled
+ server.start()
+ url = f"http://{server.server_host}:{server.server_port}"
+ res = requests.get(url)
+ assert res.status_code == 200
+ assert "<html>" in res.text
+ server.stop()
+
+ # with --no-webui
+ server.no_webui = True
+ server.start()
+ res = requests.get(url)
+ assert res.status_code == 404
disable_ctx_shift: int | None = False
draft_min: int | None = None
draft_max: int | None = None
+ no_webui: bool | None = None
# session variables
process: subprocess.Popen | None = None
server_args.extend(["--draft-max", self.draft_max])
if self.draft_min:
server_args.extend(["--draft-min", self.draft_min])
+ if self.no_webui:
+ server_args.append("--no-webui")
args = [str(arg) for arg in [server_path, *server_args]]
print(f"bench: starting server with: {' '.join(args)}")