GenAI 서버
브라우저, UI, 서비스 또는 원격 클라이언트가 HTTP를 통해 하나 이상의 GenAI 모델을 호출해야 하는 경우 GenAIServer를 사용합니다. 서버는 모델 등록, 요청 라우팅, 스트리밍 응답 및 취소를 담당합니다. 모델과 동일한 프로세스에서 실행되는 애플리케이션 로직의 경우 GenAI API를 직접 사용를 사용합니다.
서버 생성 및 시작
서버는 기본적으로 0.0.0.0:9998에 바인딩됩니다. 서버를 시작하기 전에 배포된 각 LLiMa 모델 디렉터리를 안정적인 서비스 이름으로 등록합니다.
#include <neat/genai.h>
int main() {
simaai::neat::genai::GenAIServer server;
server.add_model(
"/media/nvme/llima/models/Qwen3-4B-Instruct-2507-GPTQ-a16w4",
"llm");
server.add_model(
"/media/nvme/llima/models/Qwen3-VL-4B-Instruct-GPTQ-a16w4",
"vlm");
server.serve();
}
C++에서는 차단되는 전경 서버를 위해 serve()를 사용합니다. C++ 또는 Python 애플리케이션이 서버 수명을 관리할 때는 start() 및 stop()을 사용합니다. 기본 호스트 또는 포트가 적절하지 않을 때는 GenAIServerOptions를 구성합니다. stop()을 호출하면 등록된 모든 모델이 제거되므로, 동일한 서버 객체를 다시 시작하기 전에 모델을 다시 추가해야 합니다.
GenAIServer는 인증 또는 TLS 종료 기능을 제공하지 않으며, 모든 출처의 CORS 요청을 허용합니다. 신뢰할 수 있는 인터페이스에만 바인딩하거나 필요한 접근 제어 및 암호화를 제공하는 네트워크 계층 뒤에 배치합니다.