---
title: "iPhonen kuvat pysyvät paikallisesti, ja Comma löytää ne · Comman blogi"
description: "Myös mallit toimivat paikallisesti. Kysy omin sanoin, niin Comma löytää kuvat paikallisesta hakemistosta."
url: https://comma.surf/fi/blog/local-iphone-photo-search
language: fi
---

[Takaisin blogiin](https://comma.surf/fi/blog)

Comma Team · 28. lokakuuta 2026 · 6 min lukuaika

# iPhonen kuvat pysyvät paikallisesti, ja Comma löytää ne

Myös mallit toimivat paikallisesti. Kysy omin sanoin, niin Comma löytää kuvat paikallisesta hakemistosta.

[Aloita](https://app.comma.surf/) [Lue ohjeet](https://comma.surf/fi/docs/salix/devices)

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](https://comma.surf/fi/) 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](https://comma.surf/fi/self-host).

## Rakenna kuvahakemisto

Hakemisto liittyy reittiin, jota kuvasi jo kulkevat. iPhonessa ei muutu mikään.

Jokainen vaihe viennin jälkeen toimii Macilla.

Käyttöönotossa on kolme vaihetta:

1. **Tuo kuvat Macille.** Synkronoi iPhonen kuvat Macille iCloud-kuvilla ja vie uudet kuvat joka päivä yhteen kansioon.
2. **Käsittele ne paikallisilla malleilla.** Tunnista kunkin kuvan teksti ja muuta kuva vektoreiksi malleilla [Chinese-CLIP](https://huggingface.co/OFA-Sys/chinese-clip-vit-base-patch16) ja [Qwen3-VL-Embedding](https://huggingface.co/Qwen/Qwen3-VL-Embedding-2B).
3. **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.

sh

```
lpa search "driver license" "driver's license" "驾照" \
  --from 2025-01-01 --to 2026-01-01 --prefer text --json -n 9
```

Jokainen tulos kertoo, millainen näyttö sen takana on:

| Merkintä | Merkitys |
| --- | --- |
| Tekstiosuma | Jokainen sana löytyi kuvan tekstistä. |
| Mahdollinen | Kuva näyttää samanlaiselta. Samanlaiset asiat menevät helposti sekaisin. |
| Heikko varmuus | Näytetään vain, kun parempaa ei ole. |

`--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.

Tekstiosuma: verkon nimi ja salasana tulevat kuvassa olevan kortin sanoista. Kuva on luotu tätä esimerkkiä varten.

Kuvaosuma: missään näistä kuvista ei lue ”kissa” tai ”ikkunalauta”; kuvavektorit löytävät ne.

Kun kärkitulokset ovat epävarmoja, agentti ei arvaa. Se kokoaa ehdokkaiden pienoiskuvat yhdelle numeroidulle arkille, enintään yhdeksän, ja pyytää sinua valitsemaan.

Esimerkki kontaktiarkista; ajokortti on mallikortti. 1 ja 2 ovat etu- ja takapuolen tekstiosumia, 3 ja 4 näyttävät korteilta, ja loput ovat heikon varmuuden ehdokkaita. Vastaa ”1 ja 2”, niin agentti lähettää ajokortin molemmat puolet.

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](https://huggingface.co/Qwen/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](https://huggingface.co/Qwen/Qwen3-VL-4B-Instruct) tai [Qwen3-VL-8B-Instruct](https://huggingface.co/Qwen/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](https://huggingface.co/openai/clip-vit-base-patch16), 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.

1. **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.
2. **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.
3. **Yhdistä muihin ehtoihin.** Nimen voi yhdistää kuvan sisältöön ja aikaan, esimerkiksi ”kuvat minusta ja äidistä rannalla viime vuonna”:

sh

```
lpa search "beach" --person Me --person Mom \
  --from 2025-01-01 --to 2026-01-01 --prefer picture --json -n 9
```

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`:

sh

```
lpa search "blowing out candles" "birthday cake" --source video --json -n 9
```

Taustalla on kolme vaihetta:

1. **Ota ruutuja.** Itse video ei koskaan mene malliin. Hakemisto-ohjelma ottaa videosta ruudun 5 sekunnin välein, enintään 12 ruutua videota kohden.
2. **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.
3. **Lähetä video.** Kun olet valinnut, agentti lähettää sen komennolla `lpa video`.

Videohaku: osuvat ruudut kuuluvat yhteen videoon, joten video on yksi tulos.

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 search` hakee, `lpa sheet` tekee kontaktiarkin, `lpa preview` lähettää kuvia ja `lpa video` lä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:

1. **Lisää laite.** Mene Commassa kohtaan **Settings > Devices** ja napsauta **Add device**, niin saat asennuskomennon.
2. **Aja komento.** Aja se Päätteessä sillä Macilla, jolla kirjasto on, jotta Comma Connector asentuu.
3. **Avaa käyttöoikeus.** Uusi laite on aluksi tilassa **Off**. Vaihda se tilaan **Full**, jotta agentti voi ajaa komennon `lpa`.
4. **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.”

Oppaan alun kysymys, vastattuna. Ajokortti on mallikortti.

## 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.”

Oppaat

[Takaisin blogiin](https://comma.surf/fi/blog)

Jaa

## Aiheeseen liittyvät

28. lokakuuta 2026

### [Mikä on aina päällä oleva tekoälyagentti?](https://comma.surf/fi/blog/what-is-an-always-on-ai-agent)

27. lokakuuta 2026

### [Henkilökohtainen agentti vai tekoälyavustaja: mikä on ero?](https://comma.surf/fi/blog/personal-agent-vs-ai-assistant)

26. lokakuuta 2026

### [Mikä on henkilökohtainen agentti? Tekoäly, joka jatkaa työtä](https://comma.surf/fi/blog/what-is-a-personal-agent)

## Try Comma, Now.

[Aloita](https://app.comma.surf/)
