LLM ranking — my own benchmarks
26 generative and 5 embedding models on my own benchmark suite: code, translation, summarization — a summary table, per-task leaders and latencies.
Read more26 generative and 5 embedding models on my own benchmark suite: code, translation, summarization — a summary table, per-task leaders and latencies.
Read moreInstalling and configuring tuwunel via Docker. No extra configuration is needed — basic functionality only.
Read moreEssential console commands for working with archives: ZIP, RAR, TAR, GZ, XZ and 7z
Read moreMongoDB: installation, CRUD operations (queries, updates, deletions) and replica set configuration
Read moreApache Kafka: installation, topics, producer/consumer CLI and a ZooKeeper-free cluster (KRaft)
Read moreDocker on Ubuntu: installation, containers, images, networks, volumes and Docker Compose
Read moreRaspberry Pi 4 Model B is a full-fledged desktop replacement running Linux. The platform suits web browsing and development — and can also serve as the brain of a robot or smart home, a media center, a node of a distributed computing system or an industrial controller.
Read moreA story of how I tried to free my smartphone from Google tracking by blocking their servers via hosts and iptables.
Read moreA live LLM fleet as of October 2026 — three working setups plus the coding
agent harness. The cloud glm-5.3 and glm-5.3-flash serve the bots and agents,
while the local Qwen3.8-27B on llama.cpp handles long-context and vision
tasks. From the outside it all looks like a single OpenAI-compatible API: the
provider/model routing is done by any-router
(llm.e7.by), and the traces go to Langfuse.
The main model for everyday tasks. It lives on the Ollama relay: models
with the :cloud suffix are executed by Ollama in its cloud — locally there
is only the relay, no VRAM and no weights. The context goes up to 1M tokens,
so in long agent sessions it fits entirely. The Flash variant is about
latency/price: on benchmarks the glm family sits at the top for code and
custom tasks.
The same family, the same relay — the full (non-flash) model for heavy tasks
where the quality ceiling matters, not the latency. It goes into any-router
as glm-5.3:cloud; other cloud models live on the relay alongside
(kimi-k3, deepseek-v4, minimax-m3, nemotron-3-ultra) — switching by
provider/model in the request, without reconfiguring the clients.
A local stand on llama.cpp (RTX 3090, 24 GiB VRAM):
Qwen3.8-27B in the UD-IQ4_XS quant from unsloth (Dynamic 3.0, 13.3 GiB)
mmproj-F16 vision projector. The hybrid architecture (48 linear
DeltaNet layers + only 16 full attention layers) gives a cheap KV cache —
200k of context fits into 24 GiB along with the weights when the KV is in
q8_0. Thinking is enabled by default and controlled per-request; the API is
an OpenAI-compatible /v1.The key server flags:
llama-server \
-m /opt/llm/models/Qwen3.8-27B-UD-IQ4_XS.gguf \
--mmproj /opt/llm/models/mmproj-F16.gguf \
-ngl 999 -c 200000 -fa on \
-ctk q8_0 -ctv q8_0 \
--temp 1.0 --top-p 0.95 --top-k 20 --min-p 0 \
--host 0.0.0.0 --port 8080
The stand is deployed and updated in a single idempotent run
(the ansible/ of the monorepo): stop on-demand competitors for the card
(comfyui, unsloth) → driver check → build dependencies → CUDA toolkit 12+
(if absent) → clone/pull llama.cpp → cmake + build → download missing models
→ systemd service → /health health-check. The core of the playbook:
---
# llama.cpp + Qwen3.8-27B on the GPU host (RTX 3090, 24 GiB VRAM).
# "Deploy" and "update" are the same run; the playbook is idempotent.
# ansible-playbook llamacpp.yaml --key-file meta/msi.key
- name: "llama.cpp + Qwen3.8-27B"
hosts: [gpu_host]
become: yes
vars:
llamacpp_ref: master # tracked version: a branch or a tag
llamacpp_dir: /opt/llama.cpp
cuda_arch: "86" # sm_86 = RTX 3090
cuda_min_version: "12" # llama.cpp won't build with gcc-11 on older ones
models_dir: /opt/llm/models
hf_url: https://huggingface.co/unsloth/Qwen3.8-27B-GGUF/resolve/main
llamacpp_models: # only the missing ones are downloaded
- Qwen3.8-27B-UD-IQ4_XS.gguf # 13.3 GiB — along with 200k of context
- mmproj-F16.gguf # 0.9 GiB — the vision projector
llamacpp_model: "{{ models_dir }}/Qwen3.8-27B-UD-IQ4_XS.gguf"
llamacpp_mmproj: "{{ models_dir }}/mmproj-F16.gguf"
llamacpp_ctx: 200000 # the model's native ceiling — 262144
llamacpp_kv_k: q8_0 # KV-cache quant: f16 / q8_0 / q4_0
llamacpp_kv_v: q8_0
llamacpp_port: 8080
llamacpp_api_key: "" # empty = no auth (the host is VPN-only)
tasks:
- name: "Stop on-demand competitors for the card"
ansible.builtin.systemd:
name: "{{ item }}"
state: stopped
loop: [comfyui, unsloth]
ignore_errors: true
# ... nvidia-smi check → build dependencies (git, cmake, build-essential)
# → CUDA toolkit 12+ from the NVIDIA repo (if nvcc is older) → clone/pull llama.cpp
# → wipe build/ when nvcc/sm changes → cmake -DGGML_CUDA=ON → build → models:
- name: "llama-server service"
ansible.builtin.copy:
dest: /etc/systemd/system/llama-server.service
mode: "0644"
content: |
[Unit]
Description=llama-server (Qwen3.8-27B, llama.cpp)
After=network-online.target
Wants=network-online.target
[Service]
ExecStart={{ llamacpp_dir }}/build/bin/llama-server \
-m {{ llamacpp_model }} \
--mmproj {{ llamacpp_mmproj }} \
-ngl 999 \
-c {{ llamacpp_ctx }} \
-fa on \
-ctk {{ llamacpp_kv_k }} -ctv {{ llamacpp_kv_v }} \
--temp 1.0 --top-p 0.95 --top-k 20 --min-p 0 \
--host 0.0.0.0 --port {{ llamacpp_port }}{% if llamacpp_api_key %} \
--api-key {{ llamacpp_api_key }}{% endif %}
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
notify: "Restart llama-server"
- name: "Start llama-server"
ansible.builtin.systemd:
name: llama-server
state: started
enabled: yes
daemon_reload: yes
- name: "Wait for the model (/health)"
ansible.builtin.uri:
url: "http://127.0.0.1:{{ llamacpp_port }}/health"
register: llamacpp_health
until: "llamacpp_health.status == 200"
retries: 60
delay: 5
handlers:
- name: "Restart llama-server"
ansible.builtin.systemd:
name: llama-server
state: restarted
daemon_reload: yes
A separate item of the setup is the coding agent harness: pi — simple and configurable. On the first request it consumes 11 times less than claude desktop.
| Setup | Where | Context | Role |
|---|---|---|---|
glm-5.3-flash:cloud |
Ollama Cloud | 1M | the main model for everything, but 1M context is a stretch — I cap the window at 410k |
glm-5.3:cloud |
Ollama Cloud | 1M | heavy tasks, the quality ceiling |
Qwen3.8-27B-UD-IQ4_XS |
llama.cpp, RTX 3090 | 200k | local: long context, vision, privacy, and when the tokens ran out)) |
The full benchmark ranking of models is in the article "LLM ranking — my own benchmarks".
gantt.e7.by
Gantt charts in the browser: drag-and-drop dependencies between tasks, day/week/month/year modes, popups and forms, localStorage persistence and shareable links (the state is packed into the URL).
Open →