Running a large language model on dedicated hardware gives you full control over the serving environment, model configuration and API access. In this guide, we deploy GLM-4.5-Air-FP8 from Z.ai on an NVIDIA GPU server using SGLang, exposing an OpenAI-compatible API.

This is a condensed version. The complete tutorial is on Leo Servers.

About the model

GLM-4.5-Air is a mixture-of-experts (MoE) model built for reasoning, coding and agent tasks. It has about 106B total parameters and about 12B active during inference. We use the FP8 checkpoint:

zai-org/GLM-4.5-Air-FP8 

Hardware

Z.ai documents these NVIDIA configurations for GLM-4.5-Air-FP8:

Use case GPUs
Standard FP8 inference 2x H100
Full 128K context 4x H100

The full-featured conditions also call for more than 1TB of system RAM, a batch size of eight or less, and no CPU offloading. Treat these as a reference, not a universal minimum.

Prepare Ubuntu and verify the GPUs

sudo apt update && sudo apt upgrade -y sudo apt install -y curl git wget build-essential ubuntu-drivers devices sudo ubuntu-drivers install sudo reboot 

After the reboot:

nvidia-smi nvidia-smi -L nvidia-smi topo -m 

Install SGLang

curl -LsSf https://astral.sh/uv/install.sh | sh source "$HOME/.local/bin/env" mkdir -p ~/glm-deployment && cd ~/glm-deployment uv venv --python 3.12 source .venv/bin/activate uv pip install --prerelease=allow sglang 

Point the Hugging Face cache at a large volume:

sudo install -d -o "$USER" -g "$(id -gn)" /data/huggingface echo 'export HF_HOME=/data/huggingface' >> ~/.bashrc source ~/.bashrc 

Launch the model

python -m sglang.launch_server \ --model-path zai-org/GLM-4.5-Air-FP8 \ --served-model-name glm-4.5-air-fp8 \ --host 127.0.0.1 \ --port 30000 

Binding to 127.0.0.1 keeps the API off the public interface.

Test the API

curl http://127.0.0.1:30000/v1/models 
from openai import OpenAI client = OpenAI(api_key="local-development", base_url="http://127.0.0.1:30000/v1") response = client.chat.completions.create( model="glm-4.5-air-fp8", messages=[{"role": "user", "content": "Explain the role of GPU memory in LLM inference."}], max_tokens=300, ) print(response.choices[0].message.content) 

Run it with systemd and secure it

A systemd unit keeps SGLang running and restarts it on failure. For remote access, use an authenticated HTTPS reverse proxy, firewall rules and private networking. Never expose an unauthenticated inference endpoint to the internet.

Read the full guide

The full tutorial includes the complete systemd unit file, monitoring tips and a troubleshooting table:

👉 How to Deploy Zhipu AI GLM-4.5-Air with SGLang on a Dedicated GPU Server