AGI / cpp /server.h
Dmitry Beresnev
Refactor the C++ LLM manager into modular components, moves Python modules under python/, and keeps the current control-plane behavior intact. The C++ server now has clearer separation for config, model lifecycle, runtime services, request parsing, HTTP helpers, and server routing, while Docker build/runtime paths were updated to compile multiple C++ files and load Python code from the new package folder
332826f
raw
history blame contribute delete
846 Bytes
#pragma once
#include <boost/asio.hpp>
#include <boost/beast/http.hpp>
#include "llm_manager_types.h"
class ModelManager;
class ApiKeyAuth;
class RateLimiterStore;
class RequestRegistry;
class MetricsRegistry;
class Scheduler;
namespace http = boost::beast::http;
http::response<http::string_body> handle_request(
ModelManager &manager,
const ManagerConfig &config,
const ApiKeyAuth &auth,
RateLimiterStore &rate_limiter,
RequestRegistry &registry,
MetricsRegistry &metrics,
Scheduler &scheduler,
http::request<http::string_body> &&req);
void do_session(
boost::asio::ip::tcp::socket socket,
ModelManager &manager,
const ManagerConfig &config,
const ApiKeyAuth &auth,
RateLimiterStore &rate_limiter,
RequestRegistry &registry,
MetricsRegistry &metrics,
Scheduler &scheduler);