---
title: "Dine iPhone-billeder bliver lokalt, og Comma finder dem · Comma Blog"
description: "Modellerne kører også lokalt. Spørg med dine egne ord, så finder Comma billederne i et lokalt indeks."
url: https://comma.surf/da/blog/local-iphone-photo-search
language: da
---

[Tilbage til bloggen](https://comma.surf/da/blog)

Comma Team · 28. oktober 2026 · 6 min. læsning

# Dine iPhone-billeder bliver lokalt, og Comma finder dem

Modellerne kører også lokalt. Spørg med dine egne ord, så finder Comma billederne i et lokalt indeks.

[Kom i gang](https://app.comma.surf/) [Læs dokumentationen](https://comma.surf/da/docs/salix/devices)

Du bestiller en lejebil online, og formularen vil have nummeret og udløbsdatoen på dit kørekort. Kørekortet er ikke ved hånden. Du husker, at du tog billeder af det sidste år, for- og bagside, da du fik det nye, men de ligger begravet blandt titusindvis af billeder på din iPhone. Du vil spørge [Comma](https://comma.surf/da/) med dine egne ord og få de to billeder frem.

Denne guide viser én måde at sætte det op på: byg et indeks over dine billeder med lokale modeller, og lad Comma søge i det. Det er et eksempel på en opsætning på én Mac, ikke en indbygget funktion i Comma.

## Dit bibliotek bliver lokalt

Comma har ikke brug for en kopi af dine billeder. Det tunge arbejde, at læse teksten i hvert billede og gøre hvert billede til vektorer, klares af lokale modeller. Det, agenten får, er resultatet af en søgning: nogle få billed-id’er, deres datoer, den tekst, der blev fundet i dem, og, når du skal vælge, ét kontaktark med miniaturer. Kun de billeder, du til sidst vælger, sendes ind i chatten.

Selve billederne synkroniseres stadig via iCloud; »lokalt« betyder her tekstgenkendelsen, vektorerne og indekset efter eksporten. Hvis Comma bruger en cloudmodel, går disse søgeresultater, og ethvert billede, du beder den kigge på, til den modeludbyder, du har valgt. For et dokument som et kørekort indeholder den genkendte tekst nummeret og adressen. Selve indekset sendes aldrig nogen steder hen. Comma er open source, og du kan også [køre det på din egen maskine](https://comma.surf/da/self-host).

## Byg billedindekset

Indekset kobler sig på den vej, dine billeder allerede tager. På din iPhone ændres intet.

Hvert trin efter eksporten kører på Macen.

Opsætningen tager tre trin:

1. **Få billederne over på din Mac.** Synkroniser billederne fra din iPhone til din Mac med iCloud-billeder, og eksporter nye billeder til en mappe hver dag.
2. **Behandl dem med lokale modeller.** Genkend teksten i hvert billede, og gør derefter billedet til vektorer med [Chinese-CLIP](https://huggingface.co/OFA-Sys/chinese-clip-vit-base-patch16) og [Qwen3-VL-Embedding](https://huggingface.co/Qwen/Qwen3-VL-Embedding-2B).
3. **Gem dem i et lokalt indeks.** Gem resultaterne i en lokal database med én kommando til at søge i den. I dette eksempel hedder kommandoen `lpa`.

## Hvad en søgning giver

Lokalt er en søgning én kommando. Ét kald kan rumme flere formuleringer, og modellerne indlæses kun én gang. Agenten gør udtryk som »sidste år« til et datointerval.

sh

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

Hvert resultat viser, hvilken slags belæg der står bag det:

| Mærkat | Betydning |
| --- | --- |
| Teksttræf | Hvert ord blev fundet i billedets tekst. |
| Mulig | Billedet ligner. Ting, der ligner hinanden, er lette at forveksle. |
| Lav sikkerhed | Vises kun, når der ikke er noget bedre. |

`--prefer text` sætter teksttræf først, hvilket passer til dokumenter, kort og skærmbilleder. `--prefer picture` sætter billeder, der ligner, først, hvilket passer til en kat eller en strand. Næsten ens billeder taget inden for få minutter fylder kun én plads på listen, og resten hænger under det.

Et teksttræf: netværksnavnet og adgangskoden kommer fra ordene på kortet på billedet. Billedet er genereret til dette eksempel.

Et billedtræf: intet på disse billeder siger »kat« eller »vindueskarm«; billedvektorerne finder dem.

Når de øverste resultater er usikre, gætter agenten ikke. Den samler kandidaternes miniaturer på ét nummereret ark, højst ni, og beder dig vælge.

Et eksempel på et kontaktark; kørekortet er et prøvekort. 1 og 2 er teksttræf for for- og bagside, 3 og 4 ligner kort, og resten er kandidater med lav sikkerhed. Svar »1 og 2«, så sender agenten begge sider af kørekortet.

Hvordan de to sæt vektorer arbejder sammen, blev fastlagt ved at kalibrere på et komplet bibliotek med omkring 50.000 billeder. Med Qwen3-VL-Embedding alene kom de rigtige svar, som et menneske havde udpeget, længere nede end med Chinese-CLIP alene. Med de to rangeringer slået sammen klarede hvert kontrolleret element sig mindst lige så godt som med en af modellerne alene. »Mulig« gives også kun, når begge modellers lighed når over grænsen: i én testforespørgsel faldt antallet af billeder mærket »Mulig« fra 4.970 til 4. Prisen er, at en søgning tager 3,5–6 sekunder i stedet for omkring 3.

Dette eksempel kører på en MacBook Air med 16 GB hukommelse, med 2B-versionen af Qwen3-VL-Embedding. På en kraftigere maskine kan du bruge større Qwen-modeller:

- **En større vektormodel.** Udskift Qwen3-VL-Embedding-2B med [Qwen3-VL-Embedding-8B](https://huggingface.co/Qwen/Qwen3-VL-Embedding-8B). Efter skiftet skal vektorerne for alle billeder beregnes igen med den nye model.
- **Beskrivelser og tags til hvert billede.** Kør også [Qwen3-VL-4B-Instruct](https://huggingface.co/Qwen/Qwen3-VL-4B-Instruct) eller [Qwen3-VL-8B-Instruct](https://huggingface.co/Qwen/Qwen3-VL-8B-Instruct) for at skrive en beskrivelse på én linje og nogle få tags til hvert billede og gemme dem i tekstindekset. På en MacBook Pro med 24 GB hukommelse kører 8B-modellen for eksempel med 8-bit-kvantisering. Disse tags er gode til en grov sortering; der er ingen garanti for, at de er rigtige.

**Hvad med engelsk?** Chinese-CLIP er mest trænet på kinesiske billeder og tekster, så den er ikke pålidelig til engelske forespørgsler. De to andre dele påvirkes ikke: tekstgenkendelsen læser både kinesisk og engelsk, og Qwen3-VL-Embedding understøtter mange sprog. Sæt derfor kinesiske og engelske formuleringer i samme søgning, som kommandoen ovenfor gør; det kan du skrive ind i en Skill. Hvis dit bibliotek og dine spørgsmål mest er på engelsk, kan du også udskifte Chinese-CLIP med den oprindelige [CLIP](https://huggingface.co/openai/clip-vit-base-patch16), hvilket igen betyder, at vektorerne skal beregnes på ny.

## Find familie og venner

Fotos grupperer allerede ansigterne af den samme person. Indekset bruger disse grupper direkte og laver ingen ansigtsgenkendelse selv.

1. **Navngiv personer først.** Første gang vælger agenten nogle bunker billeder fra disse grupper, nummererer dem og spørger dig, hvem det er. Først når du svarer »3 er mor«, husker den det. En gruppe, du ikke har bekræftet, behandles ikke som nogen.
2. **Søg efter person.** Derefter, når du nævner et navn, kigger søgningen kun på billeder, hvor den person er med. Navne kan lægges sammen: nævn to personer, og du får kun billeder med dem begge, altså jeres billeder sammen.
3. **Kombiner med andre betingelser.** Et navn kan gå sammen med det, der er på billedet, og hvornår, som »billeder af mor og mig på stranden sidste år«:

sh

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

Hvis et navn ikke er bekræftet, eller to personer har samme navn, siger søgningen det i stedet for at gætte. Et forkert navn kan rettes, og hver rettelse kan fortrydes.

## Sådan findes videoer

Videoer søges for sig, adskilt fra billeder. En almindelig søgning kigger kun på billeder. Vil du for eksempel have videoen, hvor dit barn puster fødselsdagslysene ud, så sig til Comma, at du leder efter en video, og den tilføjer `--source video` til søgningen:

sh

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

Bag det ligger tre trin:

1. **Tag stillbilleder.** Selve videoen kommer aldrig ind i en model. Indekseringsprogrammet tager et stillbillede hvert 5. sekund, højst 12 pr. video.
2. **Søg efter stillbillede.** Stillbillederne gennemgår samme behandling som billeder: tekstgenkendelse og begge sæt vektorer. En søgning sammenligner disse stillbilleder; når ét passer, er hele videoen fundet, og den fylder kun én plads i resultaterne.
3. **Send videoen.** Når du har valgt, sender agenten den med `lpa video`.

En videosøgning: de stillbilleder, der passer, hører til én video, så videoen er ét resultat.

Indtil videre ser den kun på billedet, ikke på lyden. Det, der bliver sagt i en video, kan ikke søges endnu, og personer i en video genkendes endnu ikke. Antallet af stillbilleder er begrænset, så noget, der kun ses et kort øjeblik i en lang video, bliver måske ikke fundet.

## Sådan er LocalPhotoAgent bygget

`lpa` i denne guide kommer fra LocalPhotoAgent, et indekseringsprogram, vi selv har skrevet, og som vi vil udgive som open source. Indekseringen er beskrevet ovenfor; to punkter mere:

- **Det kan stoppes når som helst.** Hvert trin for hvert billede registreres for sig. Stop det midtvejs, så fortsætter det næste gang; ændr en indstilling, så køres kun det berørte trin igen. Mens det arbejder, holder det øje med hukommelse, temperatur og diskplads og holder pause, når en af dem overskrider sin grænse.
- **Det giver agenten nogle få kommandoer.** `lpa search` søger, `lpa sheet` laver et kontaktark, `lpa preview` sender billeder, og `lpa video` sender videoer. Når agenten leder efter billeder, kalder den dem i denne rækkefølge:

## Forbind Comma

Det forudsætter, at LocalPhotoAgent allerede virker på din Mac. Forbindelsen tager fire trin:

1. **Tilføj en enhed.** Gå i Comma til **Settings > Devices**, og klik på **Add device** for at få en installationskommando.
2. **Kør kommandoen.** Kør den i Terminal på den Mac, der har biblioteket, for at installere Comma Connector.
3. **Slå adgang til.** En ny enhed starter som **Off**. Skift den til **Full**, så agenten kan køre `lpa`.
4. **Skriv en Skill.** Bed agenten om at søge først, sende et kontaktark, når den er i tvivl, og først sende billeder, når du har valgt. Du kan også bare bede Comma om at »oprette en Skill«.

Derefter skal du bare spørge, som du ville i enhver chat: »Find billederne af mit kørekort fra sidste år, for- og bagside.«

Spørgsmålet fra starten af guiden, besvaret. Kørekortet er et prøvekort.

## Tillid og begrænsninger

Indekset læser kun originalerne. Det flytter, redigerer eller sletter dem aldrig. En søgning rører slet ikke det eksterne drev; kun oprettelsen af et kontaktark og afsendelsen af et billede læser fra det. At flytte eller slette billeder ligger uden for denne opsætning. Bemærk dog, at agenten med Full-adgang kan køre andre kommandoer på denne Mac end `lpa`.

Et teksttræf betyder kun, at ordene blev fundet, ikke at det er det billede, du vil have. »Mulig« er kun en kandidat. Når Comma markerer en anmodning som færdig, så tjek de billeder, den har sendt.

Første gang kunne du sige: »Find billederne af mit kørekort fra sidste år. Vis mig kontaktarket først, og send, flyt eller slet ikke noget.«

Guider

[Tilbage til bloggen](https://comma.surf/da/blog)

Del

## Relaterede indlæg

28. oktober 2026

### [Hvad er en altid tændt AI-agent?](https://comma.surf/da/blog/what-is-an-always-on-ai-agent)

27. oktober 2026

### [Personlig agent vs AI-assistent: Hvad er forskellen?](https://comma.surf/da/blog/personal-agent-vs-ai-assistant)

26. oktober 2026

### [Hvad er en personlig agent? Den AI, der bliver ved med at arbejde](https://comma.surf/da/blog/what-is-a-personal-agent)

## Try Comma, Now.

[Kom i gang](https://app.comma.surf/)
