# GLM-5

GLM-5, выпущенная в феврале 2026 года компанией Zhipu AI (Z.AI), — это **смешанная экспертная модель (Mixture-of-Experts) с 744 миллиардами параметров** языковая модель, активирующая только 40 миллиардов параметров на токен. Она достигает лучшего в классе открытого исходного кода результата в задачах рассуждения, программирования и агентности — набирая 77,8% в SWE-bench Verified и конкурируя с передовыми моделями, такими как Claude Opus 4.5 и GPT-5.2. Модель доступна под **Лицензия MIT** на HuggingFace.

## Ключевые особенности

* **744B всего / 40B активно** — 256-экспертный MoE с высокоэффективной маршрутизацией
* **Лидерские показатели в программировании** — 77,8% в SWE-bench Verified, 73,3% в SWE-bench Multilingual
* **Глубокое рассуждение** — 92,7% на AIME 2026, 96,9% на HMMT ноябрь 2025, встроенный режим мышления
* **Агентные возможности** — родной вызов инструментов, исполнение функций и планирование задач на длительный горизонт
* **Окно контекста 200K+** — обрабатывает массивные кодовые базы и длинные документы
* **Лицензия MIT** — полностью открытые веса, коммерческое использование разрешено

## Требования

Самостоятельный хостинг GLM-5 — серьёзное предприятие — контрольная точка FP8 требует **\~860 ГБ видеопамяти**.

| Компонент | Минимум (FP8) | Рекомендуется |
| --------- | ------------- | ------------- |
| GPU       | 8× H100 80GB  | 8× H200 141GB |
| VRAM      | 640GB         | 1,128GB       |
| ОЗУ       | 256GB         | 512GB         |
| Диск      | 1,5 ТБ NVMe   | 2 ТБ NVMe     |
| CUDA      | 12.0+         | 12.4+         |

**Рекомендация Clore.ai**: Для большинства пользователей, **доступ к GLM-5 через API** (Z.AI, OpenRouter). Самостоятельный хостинг имеет смысл только если вы можете арендовать 8× H100/H200 (\~$24–48/день на Clore.ai).

## Доступ по API (рекомендуется для большинства пользователей)

Наиболее практичный способ использовать GLM-5 с машины Clore.ai или из любой точки:

### Через платформу Z.AI

```python
from openai import OpenAI

client = OpenAI(
    api_key="your-zai-api-key",
    base_url="https://api.z.ai/v1"
)

response = client.chat.completions.create(
    model="glm-5",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Write a Python async web scraper using aiohttp and BeautifulSoup"}
    ],
    temperature=1.0,
    max_tokens=4096
)
print(response.choices[0].message.content)
```

### Через OpenRouter

```python
from openai import OpenAI

client = OpenAI(
    api_key="your-openrouter-key",
    base_url="https://openrouter.ai/api/v1"
)

response = client.chat.completions.create(
    model="zai-org/glm-5",
    messages=[
        {"role": "user", "content": "Explain the MoE architecture used in GLM-5"}
    ],
    max_tokens=2048
)
print(response.choices[0].message.content)
```

## Настройка vLLM (самостоятельный хостинг)

Для тех, у кого есть доступ к мощным многопроцессорным машинам на Clore.ai:

```bash
# Установите vLLM (требуется nightly для поддержки GLM-5)
pip install -U vllm --pre --extra-index-url https://wheels.vllm.ai/nightly

# Установите последние transformers (требуется)
pip install git+https://github.com/huggingface/transformers.git
```

### Развернуть FP8 на 8× H200 GPU

```bash
vllm serve zai-org/GLM-5-FP8 \
  --tensor-parallel-size 8 \
  --speculative-config.method mtp \
  --speculative-config.num_speculative_tokens 1 \
  --tool-call-parser glm47 \
  --reasoning-parser glm45 \
  --enable-auto-tool-choice \
  --served-model-name glm-5-fp8 \
  --gpu-memory-utilization 0.85
```

### Запрос к серверу

```python
from openai import OpenAI

client = OpenAI(base_url="http://localhost:8000/v1", api_key="EMPTY")

# С режимом мышления (по умолчанию)
response = client.chat.completions.create(
    model="glm-5-fp8",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Solve: find all primes p where p^2 + 2 is also prime"}
    ],
    temperature=1.0,
    max_tokens=4096
)
print(response.choices[0].message.content)

# Без режима мышления (быстрее, короче ответы)
response = client.chat.completions.create(
    model="glm-5-fp8",
    messages=[
        {"role": "user", "content": "Write a quicksort in Rust"}
    ],
    temperature=1.0,
    max_tokens=4096,
    extra_body={
        "chat_template_kwargs": {"enable_thinking": False}
    }
)
print(response.choices[0].message.content)
```

## Альтернатива SGLang

SGLang также поддерживает GLM-5 и может предложить лучшую производительность на некотором оборудовании:

```bash
# Использование Docker (GPU Hopper)
docker pull lmsysorg/sglang:glm5-hopper

# Запуск сервера
python3 -m sglang.launch_server \
  --model-path zai-org/GLM-5-FP8 \
  --tp-size 8 \
  --tool-call-parser glm47 \
  --reasoning-parser glm45 \
  --speculative-algorithm EAGLE \
  --speculative-num-steps 3 \
  --speculative-eagle-topk 1 \
  --speculative-num-draft-tokens 4 \
  --mem-fraction-static 0.85 \
  --served-model-name glm-5-fp8
```

## Быстрый старт с Docker

```bash
# Docker-образ vLLM с поддержкой GLM-5
docker run --gpus all -p 8000:8000 \
  --ipc=host \
  -v ~/.cache/huggingface:/root/.cache/huggingface \
  vllm/vllm-openai:glm5 zai-org/GLM-5-FP8 \
  --tensor-parallel-size 8 \
  --tool-call-parser glm47 \
  --reasoning-parser glm45 \
  --enable-auto-tool-choice \
  --served-model-name glm5 \
  --trust-remote-code
```

## Пример вызова инструментов

GLM-5 имеет встроенную поддержку вызова инструментов — идеально подходит для создания агентных приложений:

```python
from openai import OpenAI

client = OpenAI(base_url="http://localhost:8000/v1", api_key="EMPTY")

tools = [{
    "type": "function",
    "function": {
        "name": "get_weather",
        "description": "Получить текущую погоду для города",
        "parameters": {
            "type": "object",
            "required": ["city"],
            "properties": {
                "city": {"type": "string", "description": "Название города"}
            }
        }
    }
}]

response = client.chat.completions.create(
    model="glm-5-fp8",
    messages=[{"role": "user", "content": "What's the weather in Tokyo?"}],
    tools=tools,
    tool_choice="auto"
)
print(response.choices[0].message.tool_calls)
```

## Советы для пользователей Clore.ai

* **API в первую очередь, самохостинг во вторую**: GLM-5 требует 8× H200 (\~$24–48/день на Clore.ai). Для эпизодического использования API Z.AI или OpenRouter гораздо более рентабелен. Самохостинг только если вам нужна постоянная пропускная способность или конфиденциальность данных.
* **Рассмотрите GLM-4.7 вместо неё**: Если 8× H200 — это слишком много, предшественник GLM-4.7 (355B, 32B активно) работает на 4× H200 или 4× H100 (\~$12–24/день) и по-прежнему обеспечивает отличную производительность.
* **Используйте веса FP8**: Всегда используйте `zai-org/GLM-5-FP8` — такое же качество, как BF16, но почти вдвое меньший объём памяти. Версия BF16 требует 16× GPU.
* **Мониторьте использование VRAM**: `watch nvidia-smi` — длинные запросы с контекстом могут вызвать всплески памяти. Установите `--gpu-memory-utilization 0.85` чтобы оставить запас.
* **Компромисс режима мышления**: Режим мышления даёт лучшие результаты для сложных задач, но использует больше токенов и времени. Отключите его для простых запросов с помощью `enable_thinking: false`.

## Устранение неполадок

| Проблема                               | Решение                                                                                              |
| -------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| `OutOfMemoryError` при запуске         | Убедитесь, что у вас есть 8× H200 (по 141 ГБ каждая). FP8 требует примерно 860 ГБ общей видеопамяти. |
| Медленные загрузки (\~800 ГБ)          | Используйте `huggingface-cli download zai-org/GLM-5-FP8` с `--local-dir` чтобы возобновить.          |
| Несовпадение версии vLLM               | GLM-5 требует vLLM nightly. Установите через `pip install -U vllm --pre`.                            |
| Вызовы инструментов не работают        | Добавьте `--tool-call-parser glm47 --enable-auto-tool-choice` для команды serve.                     |
| Ошибки DeepGEMM                        | Установите DeepGEMM для FP8: используйте `скрипт install_deepgemm.sh` из репозитория vLLM.           |
| Режим мышления возвращает пустой вывод | Установите `temperature=1.0` — режим мышления требует ненулевой температуры.                         |

## Дополнительное чтение

* [GLM-5 на HuggingFace](https://huggingface.co/zai-org/GLM-5)
* [Контрольная точка GLM-5 FP8](https://huggingface.co/zai-org/GLM-5-FP8)
* [Платформа Z.AI](https://chat.z.ai)
* [Документация Z.AI API](https://docs.z.ai/guides/llm/glm-5)
* [Рецепт vLLM для GLM-5](https://docs.vllm.ai/projects/recipes/en/latest/GLM/GLM5.html)
* [Технический блог GLM-5](https://z.ai/blog/glm-5)
* [Инфраструктура Slime RL](https://github.com/THUDM/slime)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.clore.ai/guides/guides_v2-ru/yazykovye-modeli/glm5.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
