Guru Meditation/arbete/Universal Content Extractor
Tillämpad AI · data engineering

Universal Content Extractor

En motor för extrahering och nyhetsaggregering från flera källor — som hämtar artiklar från PDF-tidningar, webbplatser, RSS och sociala medier, för att sedan segmentera, klustra och rangordna dem i ett personligt flöde, där varje LLM-steg körs lokalt.

on-premSjälv-hostad GemmaPostgreSQL + MilvusPDF + datorseende

01Översikt

Universal Content Extractor samlar in offentliga nyheter från vitt skilda källor — PDF-tidningar och magasin, den öppna webben, RSS/Atom-flöden och sociala plattformar — och förvandlar informationsflödet till ett sammanhängande, deduplicerat, flerspråkigt och personligt flöde. Det avgörande designvalet: all textförståelse och bildigenkänning på sidan körs på en själv-hostad Gemma-modell på servern, så att bearbetning av nyheter i stor skala inte kostar något i kommersiella LLM API-avgifter.

02Problemet det löser

Att aggregera nyheter i stor skala innebär två svåra problem på en gång: att få ut innehåll från format som motarbetar dig (en PDF-tidning är en layout, inte en artikellista; en webbplats är uppmärkning bakom anti-bot-försvar), och sedan att skapa förståelse för resultatet över flera språk utan att det blir en vägg av dubbletter. Att göra allt detta med kommersiella LLM:er skulle göra kostnaden per artikel orimligt hög. Att köra en lokal modell tar bort det taket — och eftersom innehållet är offentliga nyheter är vinkeln rent kostnadsbaserad, inte dataintegritet.

Resultat nyheter bearbetas i stor skala med i princip noll i modellkostnad per artikel.

03Vad vi byggde

Extrahering från flera källor

  • PDF-tidningar & magasin — AI-segmentering via en "Flash"-pipeline: text-extrahering med PyMuPDF, en strömmande / inkrementell segmenterare, bildbehandling per sida, uppslagsbaserad sidbearbetning och identifiering av artiklar som fortsätter över flera sidor för finska, svenska och engelska.
  • Webbskrapning — CSS-selektorer plus Playwright för JavaScript-renderade sidor.
  • RSS / Atom-flöden.
  • Sociala medier — X / Twitter, Facebook, Instagram och LinkedIn.

Anti-detektering

Skrapning i stor skala överlever tack vare oglamorösa försvarsmekanismer: slumpmässiga fördröjningar, user-agent-rotation, proxy-rotation, exponentiell backoff och en circuit breaker för att backa snyggt när en källa slår ifrån.

Berikning & flödet

När innehållet är inne berikas det: semantisk klustring genom cosinuslikhet (tröskelvärde ~0,75), flerspråkig länkning så att samma nyhet på olika språk kopplas samman, AI-generering av sammanfattningar och händelseklassificering. Ett personligt flöde tillämpar sedan rangordning med flera algoritmer, deduplicering och användarpreferenser.

Lokal LLM

En själv-hostad Gemma-modell utför all textförståelse och bildigenkänning på sidan lokalt — både läsning och förståelse — vilket är det som gör det ekonomiskt hållbart att bearbeta denna volym.

04Lagring & gränssnitt

Poster lagras i PostgreSQL; inbäddningar lagras i en Milvus vektordatabas för semantisk sökning och klustring. Ovanpå detta finns tre gränssnitt: en adminpanel, ett REST API och ett användargränssnitt för nyhetsflödet.

05Teknik

Själv-hostad Gemma PyMuPDF Playwright PostgreSQL Milvus vektordatabas Semantisk klustring ~0,75 REST API FI / SV / EN
KällorPDF · webb · RSS/Atom · sociala medier
LLMSjälv-hostad Gemma, helt lokal
LagringPostgreSQL + Milvus-vektorer
GränssnittAdminpanel · REST API · flödes-UI
DriftsättningOn-prem

06Höjdpunkter

  • En "Flash" PDF-pipeline som segmenterar tidningslayouter och syr ihop flersidiga artiklar på FI / SV / EN.
  • Inläsning av webb, RSS och sociala medier bakom ett fullständigt anti-detekteringslager — rotation, backoff och en circuit breaker.
  • Semantisk klustring och flerspråkig länkning så att en nyhet inte blir ett dussin dubbletter.
  • Ett personligt flöde med fleralgoritmisk rangordning, deduplicering och användarpreferenser.
  • All textförståelse och bildigenkänning på sidan med en lokal Gemma-modell — noll kommersiella LLM API-avgifter i stor skala.
  • PostgreSQL för poster, Milvus för vektorsökning.

Relaterat arbete