]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commitdiff
server : add VSCode's Github Copilot Chat support (#12896)
authorGeorgi Gerganov <redacted>
Fri, 11 Apr 2025 20:37:41 +0000 (23:37 +0300)
committerGitHub <redacted>
Fri, 11 Apr 2025 20:37:41 +0000 (23:37 +0300)
* server : add VSCode's Github Copilot Chat support

* cont : update handler name

examples/server/server.cpp

index 1bf1ee876b40ff0f2852af81de9e89dad70ea7f4..d87bda1a0d5af97a79c967a44f3726d042d4dcc2 100644 (file)
@@ -3907,6 +3907,21 @@ int main(int argc, char ** argv) {
         res_ok(res, {{ "success", true }});
     };
 
+    const auto handle_api_show = [&ctx_server, &res_ok](const httplib::Request &, httplib::Response & res) {
+        json data = {
+            {
+                "template", common_chat_templates_source(ctx_server.chat_templates.get()),
+            },
+            {
+                "model_info", {
+                    { "llama.context_length", ctx_server.slots.back().n_ctx, },
+                }
+            },
+        };
+
+        res_ok(res, data);
+    };
+
     // handle completion-like requests (completion, chat, infill)
     // we can optionally provide a custom format for partial results and final results
     const auto handle_completions_impl = [&ctx_server, &res_error, &res_ok](
@@ -4471,6 +4486,7 @@ int main(int argc, char ** argv) {
     svr->Get ("/metrics",             handle_metrics);
     svr->Get ("/props",               handle_props);
     svr->Post("/props",               handle_props_change);
+    svr->Post("/api/show",            handle_api_show);
     svr->Get ("/models",              handle_models); // public endpoint (no API key check)
     svr->Get ("/v1/models",           handle_models); // public endpoint (no API key check)
     svr->Post("/completion",          handle_completions); // legacy