Alle projekter

Eksempel på ydelseOpen sourceOpen source

OpenBrain

Gem reels, opslag, links og skærmbilleder. OpenBrain læser dem, opsummerer dem og lader dig finde dem igen i almindeligt sprog.

Besøg siden i drift Kildekode på GitHub
Skærmbillede af grænsefladen i OpenBrain

Resultat

Søgning i almindeligt sprog på alt det gemte

Problemet

Alt, du gemmer, ender et sted, du aldrig kigger igen. Bogmærker, gemte reels, skærmbilleder: det hele bliver skrevet og aldrig læst.

Det jeg byggede

Der blev bygget indsamling de steder, hvor ting faktisk bliver gemt (nettet, Androids delingsmenu og en Telegram-bot), og en ingest-pipeline, som læser hvert element på vej ind: OCR til skærmbilleder, udtræk til sider, og derefter et resumé, tags og en embedding, så der kan søges på betydning.

Resultatet

Du kan bede om den ting, du halvt husker at have gemt, og faktisk få den tilbage. Selvhostet, så arkivet forbliver dit.

Sådan virker det

  1. 01

    Et element gemmes fra nettet, Androids delingsmenu eller Telegram-botten: et link, et skærmbillede, en reel, et opslag.

  2. 02

    Det læses på vej ind, ikke på vej ud: OCR til skærmbilleder, udtræk til sider og opslag.

  3. 03

    Den udtrukne tekst opsummeres og vektoriseres, så elementet kan findes på, hvad det handlede om, og ikke på filnavnet.

  4. 04

    Retrievalet besvarer en halvt husket beskrivelse i stedet for at kræve de præcise ord, det indeholdt.

AI-laget

OCR ved ingest, opsummering og tagging for et læsbart spor, og hybrid søgning med nøgleord plus semantik, så et element findes på sine præcise ord eller på, hvad det handlede om. At gøre den dyre læsning én gang ved skrivning er det, der gør søgningen billig ved læsning.

Engineeringlaget

Hver indsamling skrives til en uforanderlig log før behandling, så et element, der ikke kan læses, aldrig går tabt. Omkring det: et vektorlager, en AGPL-3.0-licens og en deploymentform, der er simpel nok til, at selvhosting er realistisk frem for teoretisk.

Centrale tekniske beslutninger

Læs ved ingest, ikke ved forespørgsel.

At behandle på vej ind koster mere én gang og gør hver senere søgning hurtig. At behandle på vej ud betyder, at hver forespørgsel betaler for OCR igen.

Selvhostet, på grund af det folk gemmer.

Et personligt arkiv er det sidste, man burde bede nogen om at overlade til en tredjepart. Selvhosting er funktionen, ikke en deploymentmulighed.

Bygget med

Next.jsVector DBLLMOCR

Relateret