wassemgtk's picture
Switch local vision stack to Qwen Omni and add weights bundle manifest
c4b8a5d verified
|
Raw
History Blame Contribute Delete
1.94 kB
# One-Click All-Local Deployment
This profile runs the full runtime without hosted model providers.
It starts:
- GLM-5.2 reasoning through local vLLM using `zai-org/GLM-5.2-FP8`.
- Qwen Omni vision/audio/video understanding through local vLLM-Omni using `Qwen/Qwen3-Omni-30B-A3B-Instruct`.
- Local OCR service built from this repo.
- Gateway API under `glm-5.2-visual-runtime`.
- PostgreSQL and MinIO for persistence.
## Start
```bash
cp one_click/.env.all-local.example one_click/.env.all-local
docker compose -f one_click/docker-compose.all-local.yml --env-file one_click/.env.all-local up --build
```
By default, vLLM downloads checkpoints from Hugging Face at startup. For a physically self-contained repo, first populate and upload `models/`, then set local paths in `one_click/.env.all-local`:
```bash
python scripts/materialize_weights.py --profile glm52_plus_qwen_omni
hf upload-large-folder wassemgtk/glm-5.2-visual-runtime models --type model
```
```bash
GLM_MODEL_PATH=/models/zai-org/GLM-5.2-FP8
QWEN_OMNI_MODEL_PATH=/models/Qwen/Qwen3-Omni-30B-A3B-Instruct
```
Gateway:
```text
http://localhost:8000/v1
```
Reasoning vLLM:
```text
http://localhost:8001/v1
```
Vision vLLM:
```text
http://localhost:8002/v1
```
OCR:
```text
http://localhost:8081/ocr
```
## Hardware
This is a real local deployment profile. GLM-5.2-FP8 and Qwen3-Omni are large checkpoints and require a serious multi-GPU environment. If you do not have enough GPU memory, the gateway can still run in `test` mode, but the all-local model services will not start.
## Smoke Test
```bash
python vllm/openai_smoke_test.py
```
For the gateway:
```python
from openai import OpenAI
client = OpenAI(base_url="http://localhost:8000/v1", api_key="EMPTY")
response = client.responses.create(
model="glm-5.2-visual-runtime",
input=[{"role": "user", "content": [{"type": "input_text", "text": "Say ready"}]}],
)
print(response.output_text)
```