Min finansapp FinMan VHWorx leser målere, drivstoffkvitteringer og bankutskrifter fra bilder og filer. Alt dette kjører på visjon/tekst LLM-er via OpenRouter — og mye av det på gratis-modeller.
Gratis modeller er flotte bortsett fra én ting: de endres konstant. De dukker opp, forsvinner, blir omdøpt eller stille avviklet. Hardkode en modell-ID, og funksjonen din dør stille på en tilfeldig tirsdag.
Så FinMan sluttet å behandle modeller som konstanter. Modeller er data:
- En daglig jobb synkroniserer den live modelllisten fra OpenRouter. Nye gratis visjonsmodeller legges til automatisk; forsvunne deaktiveres.
- Betalte fallbacks omrangering etter pris daglig. Gemini Flash-familien støtter gratis nivået, billigst først — så en failover overrasker aldri regningen.
- Gjenkjenning går gjennom prioriteringslisten. Hvis en modell feiler eller er borte, tar den neste over. En død modell bryter aldri en brukers bilde.
- Appen oppgraderer seg selv. En egen jobb fester den beste modellen fra en offentlig fellesskapsrangering som prioritet #1 — så tekstoppgaver flytter stille til det som for øyeblikket er best.
- Endringer varsler meg på Telegram. Ingen dashbord å sjekke.
Resultatet etter måneder i produksjon: Jeg har ikke rørt en modell-ID siden. Hver depresjonsbølge gikk ubemerket — av meg og av brukerne.
Hvis du bygger på LLM-er (spesielt gratis nivåer), er dette den høyeste utnyttelsen av små endringer jeg kjenner: modeller som data, ikke konstanter. En tabell, en daglig cron, en prioriteringsgang. Det er hele trikset.