Moja finansijska aplikacija FinMan VHWorx čita mjerne uređaje, račune za gorivo i bankovne izvatke iz fotografija i datoteka. Sve to radi na vizionarskim/tekstualnim LLM-ima putem OpenRouter-a — i mnogo toga na besplatnim modelima.
Besplatni modeli su odlični osim po jednoj 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 modele se ponovo rangiraju prema ceni dnevno. 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 tekstualni zadaci tiho prelaze 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.