Moja finansijska aplikacija FinMan VHWorx čita mjerne uređaje, račune za gorivo i bankovne izvatke iz fotografija i datoteka. Sve to funkcioniše na vizionarskim/tekstualnim LLM-ima putem OpenRouter-a — i mnogo toga na besplatnim modelima.
Besplatni modeli su sjajni osim jedne stvari: neprekidno se menjaju. 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 da tretira modele kao konstante. Modeli su podaci:
- Dnevni posao sinhronizuje listu živih modela sa OpenRouter-a. Novi besplatni vizionarski modeli se automatski dodaju; nestali se deaktiviraju.
- Plaćene rezervne opcije se svakodnevno ponovo rangiraju prema ceni. Gemini Flash porodica podržava besplatni nivo, najjeftiniji prvi — tako da prebacivanje nikada ne iznenađuje račun.
- Prepoznavanje prati prioritetnu listu. Ako model greši ili je nestao, sledeći preuzima. Jedan mrtvi model nikada ne prekida korisničku fotografiju.
- Aplikacija se sama nadograđuje. Poseban posao postavlja najbolji model sa javne zajednice kao prioritet #1 — tako da se tekstualni zadaci tiho prebacuju na ono što je trenutno najbolje.
- Promene me obaveštavaju na Telegramu. Nema kontrolnih tabla za proveru.
Rezultat nakon meseci u produkciji: nisam dodirnuo ID modela od tada. Svaki talas deprecijacije prošao je neprimećeno — od mene i od korisnika.
Ako gradite na LLM-ima (posebno besplatnim nivoima), ovo je najveća promena koju znam: modeli kao podaci, a ne konstante. Tabela, dnevni cron, prioritetna šetnja. To je cela caka.