Cactus Computes Mirage kan granska en lokal bild och returnera text, objektpositioner och strukturerade fält. Utvecklarens tvåbitarsmodell på ungefär 22 MB är tillräckligt liten för att prova utan att ladda ner en synmodell på flera gigabyte. Börja med en enhetsetikett eller en tydlig skärmbild och jämför de returnerade fälten med originalbilden innan du automatiserar ett arbetsflöde.
Den officiella lanseringen beskriver en synmodell med 51,3 miljoner parametrar, en lokal webbläsardemo och en installerbar körmiljö. Den uppger 74 ms på en Samsung Galaxy S26-konfiguration med NPU och 107 ms på samma telefons CPU. Dessa tider gäller den konfigurationen. Kontrollera prestanda och noggrannhet med din egen enhet och dina egna indata.
Vilka uppgifter passar den här modellen för?
Mirage kan beskriva scener, upptäcka objekt, läsa text, returnera masker och besvara avgränsade frågor. För en inventeringsuppgift kan du be den identifiera en etikett, extrahera textområdet och returnera ett begränsat antal fält. För foton kan du använda objektpositioner som ledtrådar för en mänsklig granskare. Ett strukturerat svar är användbart när det bevarar en koppling till bildunderlaget.
Utvecklaren anger sju språk för bildbeskrivningar. Utgå inte från att alla OCR-skriftsystem stöds bara för att de finns med på listan. Den faktiska textläsaren kan missa en accent, förväxla liknande siffror eller utelämna ett litet område. Cactus visar själv ett ofullkomligt OCR-resultat i lanseringsdemot. Modellkortet länkar till krav för körmiljön och exempel på indata.

Hur kör du det första lokala exemplet?
Prova webbläsarsandlådan som Cactus länkar till med en testbild som inte innehåller känslig information. Använd sedan Python-paketet på en plattform som stöds av Cactus runtime. Använd en ny miljö och en bild som du själv har kontroll över.
python -m venv .venv
source .venv/bin/activate
python -m pip install -U cactus-compute
Paketets publicerade exempel är:
import cactus
model = cactus.Mirage()
print(model.describe("photo.png"))
Vid första användningen kan paketet ladda ner och cachelagra motorn och modellen. Mät den konfigurationstiden separat från inferensen. För att bekräfta att det fungerar offline senare slutför du den första installationen och testar sedan med en lokal fil och avstängt nätverk i en isolerad miljö. Kontrollera versionen av körningsmiljön och hur cachelagringen fungerar i stället för att dra slutsatser utifrån paketnamnet.
Hur bygger du ett litet noggrannhetstest?
Ta tre bilder av samma etikett: en jämnt belyst och rakt framifrån, en roterad eller med reflexer och en med en annan etikett i närheten. Ha en referensavskrift att jämföra med. Jämför de exakta tecknen och deras koppling till fälten, inte bara om resultatet innehåller en rimlig textsträng. Granska avgränsningsrutorna för objektigenkänning. En korrekt etikett som kopplas till fel objekt kan förstöra en lagerpost längre fram i flödet.
| Indata | Användbar kontroll | Typiskt fel att granska |
|---|---|---|
| Enhetsetikett | Exakt serienummer och modellnamn | O i stället för nolla, blänk, avklippta textsträngar. |
| Skärmbild | Text, avgränsningsområde och läsordning | Tunna teckensnitt, överlappande paneler och små etiketter i användargränssnittet. |
| Kvitto | Totalbelopp, datum och valuta som separata fält | Förväxlade delsummor, fel decimaltecken eller saknade rader. |
| Blandad scen | Om varje objekt matchar sitt område | Dubbla etiketter, missade små objekt eller påhittad kontext. |
Testa med en tom bild, en bild utan relevanta fält och ett oläsligt utsnitt. Ett användbart extraktionsflöde behöver ett uttryckligt okänt eller tomt tillstånd. Om nästa steg ändrar en lagerpost ska ett fält som saknas eller är osäkert läggas i en granskningskö i stället för att en gissning görs.
Hur mycket minne och vilken latens kan du förvänta dig?
De annonserade 22 MB avser modellrepresentationen med två bitar. Minnesanvändningen under körning omfattar inferensmotorn, avkodad indata, mellanliggande tensorer och programmets overhead. Bildmåtten kan påverka förbehandlingen och minnesbelastningen även om modellfilen är oförändrad. Håll koll på processens maximala minnesanvändning, inte bara modellens storlek, när du avgör vad som kan köras tillsammans med dina andra tjänster.
Mät kallstart, varm inferens och latens från början till slut, inklusive avkodning av bilder och efterbearbetning. Ett prestandatest av en NPU i en telefon kan inte svara på hur lång tid det tar på en NAS eller en strömsnål x86-processor. Bekräfta att ditt operativsystem och din enhet stöds i körningsmiljölistan och mät sedan med samma bilder och kod som du planerar att leverera.
Hur gör du för att hålla utdata användbara och indata privata?
Håll igenkänning åtskild från åtgärder. Spara fält med en hänvisning till källutsnittet och en valideringsstatus. Använd deterministiska kontroller där det går: förväntad längd på serienummer, tillåtna tecken, datumtolkning eller kvantitetsintervall. Visa utsnittet bredvid det föreslagna fältet när en granskare behöver korrigera det. På så sätt finns det alltid en väg tillbaka till det faktiska underlaget.
En lokal modellendpoint kan minska behovet av att överföra källbilder, men webbläsarkod, telemetri, cachebeteende och andra komponenter bör fortfarande kontrolleras. En modell med visuell slutledningsförmåga kan tolka text i bilden som innehåll. Låt inte den texten bli en instruktion för ett skal- eller filkommando. Se guiden om hur du håller källdata utanför AI-förfrågningar.
Vilken roll har en hemmaserver?
Behåll originalfilerna i ett avgränsat bibliotek och skicka endast den bild som behövs för varje uppgift till inferensprocessen. Lägg utdata i en separat mapp eller databas för granskning. Kör först en liten batch på en delad server och kontrollera om igenkänningsjobb stör säkerhetskopiering, filindexering eller andra användare. Jämförelsen av beräkning och lagring för privata filer och guiden om isolering av säkerhetskopior förklarar vilken roll de tjänsterna kan spela.
Vanliga frågor
Fungerar den första körningen helt offline?
Paketet kan hämta motorn och vikterna första gången det används. Kontrollera att det fungerar offline efter att du har installerat och cachat de filer som behövs.
Är 22 MB minnesanvändningen?
Det beskriver den annonserade komprimerade modellen, medan den totala processminnesanvändningen även omfattar runtime-miljön och bildbuffertar.
Kan Mirage läsa alla kvitton och etiketter?
Testa de språk, ljusförhållanden, typsnitt och layouter som du faktiskt stöter på. Liten eller reflekterande text kan ge felaktiga eller ofullständiga resultat.
Kan jag hoppa över manuell granskning?
Granska resultat som ändrar poster eller utlöser åtgärder, särskilt när fält är osäkra eller inte kan valideras.
Kan jag använda telefonens prestandatest för att välja en hemmaserver?
Använd det som exempel för den testade telefonen. Jämför den avsedda hårdvaran och runtime-miljön med dina faktiska bilder.
Slutsats
Mirage gör det enkelt att komma igång med ett litet lokalt experiment med OCR och bildförståelse. Installera den runtime-miljö som stöds, testa exakta fält på ett fåtal utmanande bilder och behåll möjligheten till granskning. Utöka till större batcher först när mätvärdena och felhanteringen är tillräckligt bra för uppgiften.
Support och tips
Mer att läsa

Vad du bör kontrollera innan du laddar en communitymodell i Transformers
Använd uppdateringen av Transformers Jinja-sandlådan för att granska modellernas ursprung, chattmallar, fjärrkod, serialiserade vikter och isolerade första körningar.

Så schemalägger du en kodningsagent i Open WebUI på en hemmaserver
Konfigurera en kodningsagentautomatisering som bara skapar rapporter i Open WebUI, välj dess terminal och arbetsyta och kontrollera behörigheter, loggar och felåterställning.

Så konfigurerar du DeepSeek Super Agent på ett säkert sätt: konton, behörigheter och isolering
Påbörja inte ett dsh-superagent-experiment med ditt vanliga användarkonto eller mot ett värdefullt produktionsarkiv. I dokumentationen för distributionen står det att både router- och worker-förinställningarna...




