Varaat vuokra-autoa verkossa, ja lomake kysyy ajokorttisi numeroa ja voimassaoloaikaa. Ajokortti ei ole käsillä. Muistat kuvanneesi sen viime vuonna, edestä ja takaa, kun sait uuden, mutta kuvat ovat hukassa kymmenien tuhansien muiden kuvien joukossa iPhonessasi. Haluat kysyä Commalta omin sanoin ja saada nuo kaksi kuvaa takaisin.
Tämä opas näyttää yhden tavan rakentaa se: tee kuvistasi hakemisto paikallisilla malleilla ja anna Comman hakea siitä. Kyse on esimerkkikokoonpanosta yhdellä Macilla, ei Comman sisäänrakennetusta ominaisuudesta.
Kirjasto pysyy paikallisena
Comma ei tarvitse kopiota kuvistasi. Raskaan työn, eli jokaisen kuvan tekstin lukemisen ja jokaisen kuvan muuttamisen vektoreiksi, tekevät paikalliset mallit. Agentti saa haun tuloksen: muutaman kuvan tunnisteen, niiden päivämäärät, kuvista tunnistetun tekstin ja, kun sinun pitää valita, yhden pienoiskuvista kootun kontaktiarkin. Vain lopulta valitsemasi kuvat lähetetään keskusteluun.
Kuvat itse synkronoituvat edelleen iCloudin kautta; ”paikallinen” tarkoittaa tässä viennin jälkeistä tekstintunnistusta, vektoreita ja hakemistoa. Jos Comma käyttää pilvimallia, nämä hakutulokset ja jokainen kuva, jota pyydät sitä katsomaan, menevät valitsemallesi mallipalvelun tarjoajalle. Ajokortin kaltaisessa asiakirjassa tunnistettu teksti sisältää numeron ja osoitteen. Itse hakemistoa ei lähetetä minnekään. Comma on avointa lähdekoodia, ja voit myös ajaa sitä omalla koneellasi.
Rakenna kuvahakemisto
Hakemisto liittyy reittiin, jota kuvasi jo kulkevat. iPhonessa ei muutu mikään.
Käyttöönotossa on kolme vaihetta:
Tuo kuvat Macille. Synkronoi iPhonen kuvat Macille iCloud-kuvilla ja vie uudet kuvat joka päivä yhteen kansioon.
Käsittele ne paikallisilla malleilla. Tunnista kunkin kuvan teksti ja muuta kuva vektoreiksi malleilla Chinese-CLIP ja Qwen3-VL-Embedding.
Tallenna ne paikalliseen hakemistoon. Tallenna tulokset paikalliseen tietokantaan ja lisää hakua varten yksi komento. Tässä esimerkissä komennon nimi on
lpa.
Mitä haku palauttaa
Paikallisesti haku on yksi komento. Yhteen kutsuun mahtuu useita muotoiluja, ja mallit ladataan vain kerran. Agentti muuttaa ilmaukset kuten ”viime vuonna” päivämääräväliksi.
Jokainen tulos kertoo, millainen näyttö sen takana on:
--prefer text nostaa tekstiosumat kärkeen, mikä sopii asiakirjoille, korteille ja kuvakaappauksille. --prefer picture nostaa samannäköiset kuvat kärkeen, mikä sopii kissalle tai rannalle. Muutaman minuutin sisällä otetut lähes samanlaiset kuvat vievät listalla vain yhden paikan, ja muut ovat sen alla.
Kun kärkitulokset ovat epävarmoja, agentti ei arvaa. Se kokoaa ehdokkaiden pienoiskuvat yhdelle numeroidulle arkille, enintään yhdeksän, ja pyytää sinua valitsemaan.
Kahden vektorijoukon yhteiskäyttö päätettiin kalibroimalla noin 50 000 kuvan kokonaisella kirjastolla. Pelkällä Qwen3-VL-Embeddingillä ihmisen valitsemat oikeat vastaukset sijoittuivat alemmas kuin pelkällä Chinese-CLIPillä. Kun kaksi järjestystä yhdistettiin, jokainen tarkistettu kohde pärjäsi vähintään yhtä hyvin kuin kummallakaan mallilla yksinään. Myös ”Mahdollinen” annetaan vain, kun molempien mallien samankaltaisuus ylittää rajan: eräässä testihaussa ”Mahdollinen”-merkittyjen kuvien määrä putosi 4 970:stä 4:ään. Hintana haku kestää 3,5–6 sekuntia noin 3 sekunnin sijaan.
Tämä esimerkki toimii MacBook Airilla, jossa on 16 Gt muistia, ja siinä on Qwen3-VL-Embeddingin 2B-versio. Tehokkaammalla koneella voit käyttää suurempia Qwen-malleja:
Suurempi vektorimalli. Vaihda Qwen3-VL-Embedding-2B malliin Qwen3-VL-Embedding-8B. Vaihdon jälkeen kaikkien kuvien vektorit on laskettava uudelleen uudella mallilla.
Kuvaukset ja tunnisteet jokaiselle kuvalle. Aja lisäksi Qwen3-VL-4B-Instruct tai Qwen3-VL-8B-Instruct, joka kirjoittaa jokaisesta kuvasta yhden rivin kuvauksen ja muutaman tunnisteen, ja tallenna ne tekstihakemistoon. Esimerkiksi MacBook Prolla, jossa on 24 Gt muistia, 8B-malli toimii 8-bittisellä kvantisoinnilla. Tunnisteet sopivat karkeaan rajaukseen; niiden oikeellisuutta ei taata.
Entä englanti? Chinese-CLIP on koulutettu enimmäkseen kiinankielisillä kuvilla ja teksteillä, joten se ei ole luotettava englanninkielisissä hauissa. Kaksi muuta osaa eivät kärsi: tekstintunnistus lukee sekä kiinaa että englantia, ja Qwen3-VL-Embedding tukee monia kieliä. Laita siis kiinan- ja englanninkieliset muotoilut samaan hakuun, kuten yllä oleva komento tekee; tämän voi kirjoittaa Skilliin. Jos kirjastosi ja kysymyksesi ovat enimmäkseen englanniksi, voit myös vaihtaa Chinese-CLIPin alkuperäiseen CLIPiin, jolloin vektorit on taas laskettava uudelleen.
Löydä perhe ja ystävät
Kuvat-appi ryhmittelee jo saman ihmisen kasvot. Hakemisto käyttää näitä ryhmiä suoraan eikä tee omaa kasvojentunnistusta.
Nimeä ihmiset ensin. Ensimmäisellä kerralla agentti poimii näistä ryhmistä muutaman kuvaerän, numeroi ne ja kysyy, keitä he ovat. Vasta kun vastaat ”3 on äiti”, se muistaa sen. Ryhmää, jota et ole vahvistanut, ei pidetä kenenkään.
Hae ihmisen mukaan. Sen jälkeen, kun mainitset nimen, haku katsoo vain kuvia, joissa kyseinen ihminen on. Nimiä voi yhdistää: mainitse kaksi ihmistä, niin saat vain kuvat, joissa ovat molemmat, eli yhteiskuvanne.
Yhdistä muihin ehtoihin. Nimen voi yhdistää kuvan sisältöön ja aikaan, esimerkiksi ”kuvat minusta ja äidistä rannalla viime vuonna”:
Jos nimeä ei ole vahvistettu tai kahdella ihmisellä on sama nimi, haku kertoo sen arvaamatta. Väärän nimen voi korjata, ja jokaisen korjauksen voi perua.
Näin videot löytyvät
Videoita haetaan erikseen kuvista. Oletushaku katsoo vain kuvia. Jos haluat vaikkapa videon, jossa lapsesi puhaltaa syntymäpäiväkynttilät, kerro Commalle etsiväsi videota, niin se lisää hakuun --source video:
Taustalla on kolme vaihetta:
Ota ruutuja. Itse video ei koskaan mene malliin. Hakemisto-ohjelma ottaa videosta ruudun 5 sekunnin välein, enintään 12 ruutua videota kohden.
Hae ruutujen perusteella. Ruudut käsitellään samoin kuin kuvat: tekstintunnistus ja molemmat vektorijoukot. Haku vertaa näitä ruutuja; kun yksi osuu, koko video löytyy, ja se vie tuloksissa vain yhden paikan.
Lähetä video. Kun olet valinnut, agentti lähettää sen komennolla
lpa video.
Toistaiseksi se katsoo vain kuvaa, ei kuuntele ääntä. Videossa puhuttua ei voi vielä hakea, eikä videossa näkyviä ihmisiä vielä tunnisteta. Ruutujen määrä on rajattu, joten pitkässä videossa ohimennen vilahtava asia voi jäädä löytymättä.
Näin LocalPhotoAgent on rakennettu
Oppaan lpa tulee LocalPhotoAgentista, itse kirjoittamastamme hakemisto-ohjelmasta, jonka julkaisemme avoimena lähdekoodina. Hakemiston rakentaminen on kuvattu yllä; lisäksi kaksi asiaa:
Sen voi pysäyttää milloin tahansa. Jokaisen kuvan jokainen vaihe kirjataan erikseen. Jos se pysähtyy kesken, se jatkaa seuraavalla kerralla; jos muutat asetusta, vain asianomainen vaihe ajetaan uudelleen. Työskennellessään se seuraa muistia, lämpötilaa ja levytilaa ja pysähtyy, kun jokin ylittää rajansa.
Se antaa agentille muutaman komennon.
lpa searchhakee,lpa sheettekee kontaktiarkin,lpa previewlähettää kuvia jalpa videolähettää videoita. Kun agentti etsii kuvia, se kutsuu niitä tässä järjestyksessä:
Yhdistä Comma
Tämä olettaa, että LocalPhotoAgent toimii jo Macillasi. Yhdistämisessä on neljä vaihetta:
Lisää laite. Mene Commassa kohtaan Settings > Devices ja napsauta Add device, niin saat asennuskomennon.
Aja komento. Aja se Päätteessä sillä Macilla, jolla kirjasto on, jotta Comma Connector asentuu.
Avaa käyttöoikeus. Uusi laite on aluksi tilassa Off. Vaihda se tilaan Full, jotta agentti voi ajaa komennon
lpa.Kirjoita Skill. Kerro agentille, että se hakee ensin, lähettää kontaktiarkin, kun on epävarma, ja lähettää kuvat vasta, kun olet valinnut. Voit myös yksinkertaisesti pyytää Commaa ”luomaan Skillin”.
Sen jälkeen riittää kysyä kuten missä tahansa keskustelussa: ”Etsi viime vuonna ottamani kuvat ajokortistani, edestä ja takaa.”
Luottamus ja rajat
Hakemisto vain lukee alkuperäisiä kuvia. Se ei koskaan siirrä, muokkaa tai poista niitä. Haku ei koske ulkoiseen levyyn lainkaan; vain kontaktiarkin tekeminen ja kuvan lähettäminen lukevat sitä. Kuvien siirtäminen tai poistaminen ei kuulu tähän kokoonpanoon. Huomaa kuitenkin, että Full-käyttöoikeudella agentti voi ajaa tällä Macilla muitakin komentoja kuin lpa.
Tekstiosuma tarkoittaa vain, että sanat löytyivät, ei sitä, että kuva on se, jota haluat. ”Mahdollinen” on vain ehdokas. Kun Comma merkitsee pyynnön valmiiksi, tarkista sen lähettämät kuvat.
Ensimmäisellä kerralla voit sanoa: ”Etsi viime vuonna ottamani kuvat ajokortistani. Näytä ensin kontaktiarkki, äläkä lähetä, siirrä tai poista mitään.”


