Moja financijska aplikacija FinMan VHWorx čita mjerače komunalnih usluga, račune za gorivo i bankovne izvatke iz fotografija i datoteka. Sve to radi na vizualnim/tekstualnim LLM-ima putem OpenRoutera — i puno toga na besplatnim modelima.
Besplatni modeli su odlični osim po jednoj stvari: neprekidno se mijenjaju. Pojavljuju se, nestaju, preimenuju ili tiho se povlače. Ako hardkodirate ID modela, vaša funkcija tiho umire u random utorak.
Stoga je FinMan prestao tretirati modele kao konstante. Modeli su podaci:
- Svakodnevni posao sinkronizira popis živih modela s OpenRouterom. Novi besplatni vizualni modeli se automatski dodaju; nestali se deaktiviraju.
- Plaćene alternative ponovo se rangiraju prema cijeni svakodnevno. Obitelj Gemini Flash podržava besplatni nivo, najjeftiniji prvi — tako da prebacivanje nikada ne iznenađuje račun.
- Prepoznavanje prati prioritetni popis. Ako model pogriješi ili nestane, sljedeći preuzima. Jedan mrtvi model nikada ne prekida korisničku fotografiju.
- Aplikacija se sama nadograđuje. Odvojeni posao postavlja najbolji model s javne zajednice kao prioritet #1 — tako da se tekstualni zadaci tiho prebacuju na ono što je trenutno najbolje.
- Promjene me obavještavaju na Telegramu. Nema nadzora za provjeru.
Rezultat nakon mjeseci u produkciji: nisam dotaknuo ID modela otkako. Svaki val deprecijacije prošao je neprimijećen — od mene i od korisnika.
Ako gradite na LLM-ima (posebno besplatnim nivoima), ovo je najveća promjena koju znam: modeli kao podaci, a ne konstante. Tablica, svakodnevni cron, prioritetno hodanje. To je cijeli trik.