Přeskočit na obsah
Čísla 3 min čtení

Pydantic AI 2.40 po zapnutí každou hodinu stahuje 1 678 cenových položek

Pydantic AI 2.40 přidala volitelné stahování cen modelů hned po startu a potom každou hodinu. Při našem testu se seznam rozšířil z 1 646 na 1 678 položek; výpadek stahování ponechal v paměti poslední platná data.

Pydantic AI přidala ve verzi 2.40.0 jednoduchou odpověď na rychle stárnoucí ceníky modelů. Funkce pydantic_ai.prices.update_in_background() stáhne po spuštění aplikace aktuální data a potom se pro ně vrací každých 3 600 sekund. Sama se nezapíná. Vývojář ji musí zavolat v kódu.

Serverové šasi s řadou zasunutých blade serverů
Serverové šasi HP BladeSystem c7000. Foto: seeweb, Openverse / Flickr (CC BY-SA 2.0)

Balíček 2.40.0 na PyPI vznikl 5. září 2026 krátce po 00:18 UTC. Odpovídající poznámky k vydání jmenují vedle zvukových relací a událostí agenta právě aktualizaci cen. Nejde o změnu účtování u poskytovatele. Knihovna si pouze zpřesňuje vlastní odhad nákladů podle počtu tokenů a dalších účtovaných jednotek.

Živý seznam přidal 32 položek za pět dní

Pydantic AI ceny sama nesbírá. Používá knihovnu genai-prices 0.1.6, jejíž wheel byl na PyPI nahrán 2. září. Data přibalená v tomto souboru obsahují 41 poskytovatelů a 1 646 modelových položek. Spočítali jsme volání ProviderModelInfo v modulu data.py, který má po rozbalení 867 260 bajtů.

Výchozí aktualizace míří na soubor data.json v hlavní větvi genai-prices. Večer 7. září měl 482 216 bajtů. Součet délek polí models u všech záznamů dal 1 678 položek od 42 poskytovatelů. Rozdíl tvořilo třicet položek nově vedeného GitHub Copilotu, jedna položka Googlu a jedna OpenAI.

Těch 1 678 položek není stejný počet jedinečných názvů modelů. Jeden model může mít samostatný záznam u více poskytovatelů a zprostředkovatelů. Číslo popisuje řádky ceníku, které knihovna prohledává, ne velikost trhu s modely. Právě poskytovatel je při výpočtu důležitý: tentýž model může prodávat několik služeb za různé ceny.

Jedno volání spustí jednu nit pro celý proces

Návrh změny číslo 4841 se připravoval od března a do hlavní větve se dostal 4. září. Obal v Pydantic AI má jen jedinou úlohu: vytvoří UpdatePrices, spustí ho a vrátí volajícímu. Ten může počkat na první stažení metodou wait() a při vypnutí aplikace zavolat stop().

Skutečnou práci dělá aktualizátor v genai-prices. Všechny jeho instance uvnitř jednoho procesu sdílejí jednu nit pojmenovanou genai_prices:update. Ověřili jsme to spuštěním dvou instancí nad vydanou verzí 0.1.6. Po startu druhé zůstala aktivní jediná nit. Zastavení první ji ponechalo běžet a zmizela až po zastavení druhé.

Nit je typu daemon, takže sama neudrží končící proces při životě. První požadavek na data má celkovou časovou mez deset sekund a na navázání spojení pět sekund. Volající kód mezitím pokračuje; čekání je výslovná volba. Kdo chce jinou adresu nebo interval, musí místo zkrácené funkce Pydantic AI vytvořit přímo genai_prices.UpdatePrices.

Chyba stahování nevymaže poslední ceník

Aktualizace nic neukládá na disk. Stažený seznam nahradí snímek v paměti procesu a zůstane tam i po zastavení aktualizační niti. Podle dokumentace genai-prices jde o volitelnou funkci a data se stahují přímo z GitHubu. Projekt uvádí, že tím nemůže sledovat požadavky ani sbírat telemetrii.

Výpadek jsme zkusili až po úspěšné aktualizaci. Druhý aktualizátor dostal neexistující adresu, server odpověděl kódem 404 a metoda wait() vyhodila chybu. V paměti přesto zůstalo všech 42 poskytovatelů a 1 678 položek z předchozího stažení. Zdrojový kód se chová stejně i u jiných chyb: zapíše je do logu, ale platný snímek nenahradí.

Aktuálnost má svou cenu. Aplikace důvěřuje proměnlivému souboru v hlavní větvi, nikoli datům připnutým ke konkrétní verzi. Stažený obsah projde převodem na typované záznamy, kontrola pevného otisku však v této cestě není. Pro vlastní zdroj lze nastavit jinou adresu. To se hodí tam, kde změna ceníku musí nejdřív projít interním schválením.

Odhad nákladů není strop účtu

Čerstvější seznam odstraňuje jednu příčinu neznámé ceny: model vyšel až po instalaci knihovny. Neřeší model, který v genai-prices není, nesprávně nahlášenou spotřebu ani budoucí změnu způsobu účtování. Pydantic AI proto dál popisuje pole cost jako nejlepší dostupný odhad. Když cenu nenajde, vrátí None, ne nulu.

Stejná výhrada platí pro cost_limit. Pokud se celý běh nepodaří ocenit, knihovna vydá CostNotFoundWarning; požadavek tím automaticky nezíská spolehlivý finanční strop. Dokumentace radí spojit cenový limit s omezením počtu požadavků nebo s vlastními limity poskytovatele. Hodinové stahování tedy zmenšuje slepé místo v odhadu. Účetní pojistku z něj nedělá.

Zdroje

Diskuse

Zatím tu nikdo nediskutuje. Můžete být první.

Napsat příspěvek

Diskutovat můžete i bez účtu. S registrací se ale příspěvek zveřejní hned a nemusíte pokaždé vyplňovat jméno. Účet už máte? Přihlaste se.

Nezveřejňujeme ho, slouží jen redakci.

Podporuje zápis Texy: **tučně**, *kurzíva*, odrážky, odkazy.

Dál k tématu

  1. Čísla

    Známku ověřeného měření nemá ani jeden z 2 542 výsledků v žebříčcích Hugging Face

    Hugging Face ukládá od prosince 2025 výsledky testů přímo do repozitáře modelu a skládá z nich žebříčky benchmarků. Ze 2 542 položek, které v nich 4. září 2026 stály,…

  2. Čísla

    Experti uložení po čtyřech bitech tvoří 94 % vah DeepSeeku V4 Flash Vision

    DeepSeek nahrál 31. srpna 2026 na Hugging Face váhy experimentálního modelu DeepSeek-V4-Flash-Vision-Exp. Osmačtyřicet souborů má dohromady 167,8 GB a 93,8 % z toho…

  3. Čísla

    Zrychlení jádra Qwen-Image se v celém požadavku neprojevilo

    SGLang sloučil závěrečnou normalizaci a modulaci obrazového modelu Qwen-Image do jediného jádra. Samotná operace zrychlila podle délky vstupu 3,1krát až 5,6krát, deset…

  4. Čísla

    Sada Monsoon ukázala větší rozdíly mezi regiony Indie než mezi osmi modely přepisu řeči

    Hugging Face a Voice Arena přidaly do žebříčku Open ASR Leaderboard sady Monsoon pro indickou angličtinu a hindštinu. Každý klip v nich nese dvanáct údajů o mluvčím, a…