Skip to content

2026

Minimalistický počátek projektu llama.cpp

Simon Willison včera psal o spojení týmu ggml.ai (Georgi Gerganov, llama.cpp) s Hugging Face. Zaujalo mě, jak minimalistické README (resp. funkcionalitu) llama.cpp projekt na počátku měl. V podstatě "jen" prototyp pro běh modelu Llama 2 (7B) s 4-bitovou kvantizací na MacBooku (na CPU).

This was hacked in an evening - I have no idea if it works correctly.

So far, I've tested just the 7B model and the generated text starts coherently, but typically degrades significanlty after ~30-40 tokens.

Uživatel si musí program sám zkompilovat a počítat s řadou omezení.

Limitations

  • Currently, only LLaMA-7B is supported since I haven't figured out how to merge the tensors of the bigger models. However, in theory, you should be able to run 65B on a 64GB MacBook
  • Not sure if my tokenizer is correct. There are a few places where we might have a mistake: [...]
  • I don't know yet how much the quantization affects the quality of the generated text
  • Probably the token sampling can be improved
  • No Windows support
  • x86 quantization support not yet ready. Basically, you want to run this on Apple Silicon

Líbí se mi ta jednoduchost a transparentnost bez nároku na hotový produkt, bez nároku někomu něco prodávat. A přesto je dnes llama.cpp velmi propulární a využívaný nástroj pro běh velkých jazykových modelů na vlastním hardware.

Realistické 3D modely Lega s LeoCAD a Blender

LeoCAD to Blender

Před pár dny jsem šel okolo obchodu s použitými dílky a stavebnicemi Lego, a dostal velkou chuť si něco zase postavit (v dětství jsem tím strávil moře času). Bohužel, moje vlastní sbírka se v průběhu času někde ztratila a hned jít a něco si koupit se mi nechtělo. Rozhodl jsem si nejprve oživit vzpomínky pomocí open source nástroje LeoCAD, který slouží k vytváření 3D modelů z Lega.

Jako první padla volba na "Ostrovní vlčí doupě", které jsem znal jako malý jen z katalogu (strana 22).

Fish Abbreviations

Při snaze ušetřit si psaní dlouhého příkazu (resp. hledání v historii) jsem narazil na zajímavou vlastnost Fish shellu, a to na zkratky (Abbreviations).

Zkratku jde vytvořit např. takto:

abbr --add webui 'WEBUI_AUTH=False open-webui serve'

Poznámka

Aby byla zkratka perzistentní, je potřeba ji přidat do config.fish. Dokumentace doporučuje zkratku nejprve vypsat:

> abbr
abbr -a -- webui 'WEBUI_AUTH=False open-webui serve'

A tento příkaz (tj. abbr -a -- webui 'WEBUI_AUTH=False open-webui serve') pak uložit do konfiguračního souboru.

Výhodou oproti tradičním aliasům je, že po zadání zkratky webui se zkratka dá expandovat (typicky pomocí mezeníku nebo Enteru). Je tak zřejmé, jaký příkaz se bude spouštět a případně ho lze upravit.

AI jako nástroj podvodníků

„Ještě před čtyřmi lety se úspěšnost rozpoznání deepfakes lidmi pohybovala kolem 70–80 %, nicméně s vývojem nových generací syntetizátorů se kvalita podvrhů natolik zlepšila, že se již na svou schopnost deepfake rozpoznat nemůžeme spolehnout. Naše výzkumy navíc ukazují, že pokud lidé předem nevědí, že mají hodnotit deepfake – což je scénář, který při útoku nastává, protože útočník vás na rozdíl od vědce typicky nevaruje o povaze útoku –, jejich schopnost rozpoznání klesá prakticky k nule,“ říká docent Kamil Malinka z brněnského VUT.
-- Když vám zavolá klon: Anatomie miliardového byznysu s AI podvody

Generování tagů s Agent Skills pro Claude Code

Už dříve jsem psal o asistentovi v Open WebUI, který mi pomáhá generovat tagy pro články na tomto blogu. Vzhledem k tomu, že mám články jako lokální soubory, bylo by jednodužší použít např. Claude Code, který má text článku rovnou k dispozici, bez nutnosti cokoliv manuálně kopírovat do GUI nebo extrahovat seznam tagů z webu. Zároveň mě zaujala nová vlastnost zvaná Agent Skills, která umožňuje agentovi přidávat specializované schopnosti. Níže sdílím své poznámky ke generování tagů právě s pomocí Claude Code.

Poznámka

Kompletní zdrojový kód je k dispozici na GitHubu.

Definice vlastního skillu

Nový skill je jednoduše adresář (v mém případě generate-tags/), který obsahuje SKILL.md, příp. další pomocné soubory. Stačí mi, aby byl skill přístupný jen pro daný repozitář:

peberanek.github.io/
.claude/
└── skills
    └── generate-tags
        ├── scripts
        │   └── list_tags.py
        └── SKILL.md
...
(Skill lze, nicméně, zpřístupnit i šířeji.)

Soubor SKILL.md obsahuje minimální potřebné instrukce. Jako první jsou definována metadata (tzv. frontmatter ve formáty YAML), která se načítají automaticky. Z nich agent pozná, zda má daný skill použít:

SKILL.md
---
name: generate-tags
description: Generate the list of tags for a blog post.
---