reload_flag=""
if [[ -n "${DEBUG}" ]]; then
reload_flag="--reload"
fi
if [[ -n "${WORKER_COUNT}" ]]; then
workers=${WORKER_COUNT}
else
workers=2
fi
gunicorn --workers ${workers} \
--bind 0.0.0.0:8000 \
${reload_flag} main.wsgi
Писали такие конструкции чтобы проверить наличие флага и сформировать команду правильно?
На самом деле можно сделать тоже самое проще. Для этого используются операторы условной подстановки, доступные в оболочках семейства POSIX.
:- для установки значений по умолчанию
${WORKER_COUNT:-2}
Если переменная не объявлена, то будет дефолтное значение 2.
:+ подставляет указанный текст, если переменная не пуста
${DEBUG:+--reload}
Если что-то есть в переменной то распечатается текст после символа +, в противном случае - ничего. Удобно для опциональных флагов, как в нашем примере.
Итого наш скрипт может выглядеть так:
gunicorn --workers ${WORKER_COUNT:-2} \
--bind 0.0.0.0:8000 \
${DEBUG:+--reload} main.wsgi
Есть еще два оператора.
:= не только подставить дефолтное значение, но и присвоить его переменной, если она пуста
# никаких переменных еще нет
VAL1=${VAL2:=hello}
# теперь доступны обе
echo $VAL1 $VAL2
# hello hello
:? остановить выполнение с ошибкой, если переменной нет.
echo ${MISS:?is required}
bash: MISS: is required
Код выхода будет 1.
#tricks#linux
⚡️GLM-5 выкатили в опен-сорс.
Не прошло и суток с момента релиза, а Zhipu AI выложила веса GLM-5 и любезно поделилась проведенными бенчмарками.
Архитектура пятого поколения построена на MoE: 744 млрд. общих параметров при активных 40 млрд. Модель учили на 28,5 трлн. токенов и она получила контекстное окно в 200 тыс. токенов.
GLM-5 ориентирован на 5 доменов: кодинг, рассуждение, агентные сценарии, генеративное творчество и работа с длинным контекстом.
Для эффективной обработки длинных последовательностей интегрирован механизм Dynamically Sparse Attention от DeepSeek, он позволяет избежать квадратичного роста копьюта без потери качества.
По бенчмаркам GLM-5 занимает 1 место среди open-source моделей: 77,8% на SWE-bench Verified, лидирует на Vending Bench 2, BrowseComp и MCP-Atlas, а в задачах агентного кодирования и рассуждений вплотную подбирается к Claude Opus 4.5 и GPT-5.2.
Вместе с моделью, авторы предлагают Z Code — собственную агентную IDE с поддержкой параллельной работы нескольких агентов над одной задачей.
Локальный деплой поддерживается vLLM и SGLang, а также non-NVIDIA чипами: Huawei Ascend, Moore Threads, Cambricon (через квантование и оптимизацию ядер).
Если вам негде поднять модель локально, она доступна через платформу chat.z.ai, API и на OpenRouter.
Квантованные версии пока сделали только Unsloth, традиционно - полный набор от 1-bit до BF16.
И да, стэлс-модель PonyAlpha на OpenRouter - это она и была.
📌Лицензирование: MIT License.
🟡Статья
🟡Модель
🟡GGUF
🖥GitHub
@ai_machinelearning_big_data
#AI#ML#LLM#GLM5#ZAI