wassemgtk's picture
Update README.md
372fc8a verified
|
Raw
History Blame Contribute Delete
5.4 kB
---
license: apache-2.0
base_model:
- zai-org/GLM-5.2-FP8
- zai-org/GLM-5.2
tags:
- glm
- glm-5.2
- vision
- multimodal
- openai-compatible
- api-gateway
- training-free
- vllm
pipeline_tag: image-text-to-text
library_name: vllm
---
# GLM-5.2 with a vision, Support-runtime
This repository is the deployment report, runtime source, and one-click deployment manifest for `glm-5.2-visual-runtime`, a training-free multimodal runtime gateway.
It is **not** a fine-tuned checkpoint and it does **not** modify GLM-5.2 weights. The one-click deployment pulls the official model weights at runtime:
- Reasoning: `zai-org/GLM-5.2-FP8`
- Vision / omni perception: `Qwen/Qwen3-Omni-30B-A3B-Instruct`
- Optional alternate reasoning: `Qwen/Qwen3.6-27B`
- OCR: local OCR service/container
No hosted model provider is required in the all-local profile.
Clients call the public model ID:
```text
glm-5.2-visual-runtime
```
Internally, the runtime uses:
- GLM-5.2 API for reasoning over compact structured evidence.
- GLM-5V-Turbo-compatible provider interface for object grounding and hard visual questions.
- GLM-OCR-compatible provider interface for OCR, tables, and document layouts.
- CPU image processing lenses for fingerprints, palettes, masks, and chart geometry.
- A FastAPI OpenAI-compatible gateway with persistent visual asset variables.
## Deployment Status
| Item | Status |
|---|---|
| Runtime source | Available in the companion Space |
| HF Space | `wassemgtk/glm-5-2-visual-runtime-space` |
| Standard vLLM base checkpoint | `zai-org/GLM-5.2-FP8` |
| vLLM minimum | `vLLM >= 0.23.0` or the GLM recipe image |
| Training / fine-tuning | Not used |
| Local GPU required for gateway | No |
| Local GPU required for self-hosted GLM-5.2 vLLM | Yes, very large multi-GPU deployment |
## One-Click All-Local Deployment
Use the included profile when everything must run as part of the deployment:
```bash
docker compose -f one_click/docker-compose.all-local.yml up --build
```
This starts:
- `gateway`: the OpenAI-compatible `glm-5.2-visual-runtime` API.
- `glm52-vllm`: local vLLM serving `zai-org/GLM-5.2-FP8`.
- `vision-vllm`: local vLLM-Omni serving `Qwen/Qwen3-Omni-30B-A3B-Instruct`.
- `ocr`: local OCR container endpoint.
- `minio`: object storage for original images and generated artifacts.
- `postgres`: persistent visual asset ledger.
The gateway exposes:
```text
http://localhost:8000/v1
```
## Standard vLLM Reasoning Deployment
Use the official GLM-5.2 FP8 checkpoint with vLLM:
```bash
vllm serve zai-org/GLM-5.2-FP8 \
--served-model-name glm-5.2 \
--kv-cache-dtype fp8 \
--tensor-parallel-size 8 \
--speculative-config.method mtp \
--speculative-config.num_speculative_tokens 5 \
--tool-call-parser glm47 \
--reasoning-parser glm45 \
--enable-auto-tool-choice
```
Docker recipe:
```bash
docker run --gpus all \
--ipc=host \
-p 8001:8000 \
-v ~/.cache/huggingface:/root/.cache/huggingface \
vllm/vllm-openai:glm52 \
zai-org/GLM-5.2-FP8 \
--served-model-name glm-5.2 \
--kv-cache-dtype fp8 \
--tensor-parallel-size 8 \
--tool-call-parser glm47 \
--reasoning-parser glm45 \
--enable-auto-tool-choice
```
Then point the visual gateway at the local vLLM OpenAI-compatible endpoint:
```bash
GLM_BASE_URL=http://glm52-vllm:8000/v1
GLM_MODEL=glm-5.2
VISION_BASE_URL=http://vision-vllm:8000/v1
VISION_MODEL=qwen3-omni
OCR_BASE_URL=http://ocr:8080
VISUAL_RUNTIME_MODE=local
```
## Why this is a runtime model
The "model" is an API-runtime contract rather than a neural checkpoint. It makes GLM-5.2 appear vision-capable by storing images as persistent visual variables and lazily generating typed views such as:
```text
img_01.original
img_01.fingerprint
img_01.ocr
img_01.palette
img_01.presentation_theme
img_01.chart
```
GLM-5.2 receives only compact, task-specific evidence.
## Files in this repository
- `README.md`: this deployment report.
- `deployment_report.md`: operational report with hardware, mode, and acceptance status.
- `runtime_config.json`: model/runtime manifest for gateway deployments.
- `one_click/docker-compose.all-local.yml`: full local deployment with reasoning, vision, OCR, storage, and gateway.
- `one_click/.env.all-local.example`: one-click environment file.
- `one_click/README.md`: one-click deployment guide.
- `vllm/serve_glm52_fp8.sh`: standard GLM-5.2 vLLM launch script.
- `vllm/serve_qwen3_omni.sh`: local Qwen Omni vLLM-Omni launch script.
- `weights_manifest.json`: list of all upstream checkpoint snapshots required for a fully bundled repo.
- `scripts/materialize_weights.py`: downloads configured checkpoint snapshots into `models/` before re-uploading this repo.
- `vllm/docker-compose.vllm.yml`: vLLM OpenAI server compose file.
- `vllm/openai_smoke_test.py`: verifies the vLLM reasoning endpoint.
- `gateway/.env.vllm.example`: gateway environment for using local vLLM as GLM-5.2 provider.
- `apps/api`: gateway source.
- `services/slides`: editable PPTX rendering service.
## Companion Gateway Space
Use the companion Hugging Face Docker Space for a lightweight no-GPU demo. For production one-click deployment with no hosted providers, use `one_click/docker-compose.all-local.yml`.
Space:
```text
https://huggingface.co/spaces/wassemgtk/glm-5-2-visual-runtime-space
```
Live OpenAI-compatible base URL:
```text
https://wassemgtk-glm-5-2-visual-runtime-space.hf.space/v1
```