Kompetence

Vektordatabaser (Pinecone / Milvus Setup)

En vektordatabase gemmer tekst og dokumenter som tal, så en AI kan finde det, der ligner spørgsmålet — også når ordene er anderledes. Pinecone er en driftet cloud-tjeneste, Milvus er open source og kan hostes selv. Begge bruges til at give en AI adgang til virksomhedens egne dokumenter, typisk i en RAG-løsning.

Til private, freelancere og konsulenter

Den øverste plads er ledig

Arbejder du med Vektordatabaser (Pinecone / Milvus Setup)?

Vi husker kompetencen og sætter den på dit kort. Udgiv det, og du står her som den første — pladserne tildeles efter tid og kan ikke købes.

Tag den øverste plads — gratis

Gratis · ca. 30 sekunder · intet betalingskort

Til virksomheder

Vær de første der søger her

Leder I efter hjælp til Vektordatabaser (Pinecone / Milvus Setup)?

Der er ingen specialister med netop denne kompetence endnu. Vis at I søger, så står jeres behov her på siden — og specialister kan skrive direkte til jer i stedet for at I skal lede.

Få specialister til at skrive til jer

Gratis · 2 trin · fjern med ét klik

Vil I bare holdes orienteret? Følg kompetencen — én besked når den første specialist er her, ikke et nyhedsbrev.

Hvad bruges vektordatabaser (Pinecone og Milvus) til?

En vektordatabase er det sted, hvor en AI-løsning gemmer virksomhedens eget indhold, så modellen kan finde det igen bagefter.

En almindelig database søger på ord. Skriver du "opsigelsesvarsel", finder den kun dokumenter, hvor præcis det ord står. En vektordatabase søger på betydning. Den kan finde afsnittet om "hvor lang tid før man skal sige op", selvom ordet aldrig optræder i teksten.

Det virker ved, at hvert stykke tekst først bliver oversat til en lang række tal. Sådan en talrække kaldes et embedding. Tekster, der betyder nogenlunde det samme, får talrækker, der ligger tæt på hinanden. Vektordatabasen gemmer talrækkerne og finder lynhurtigt dem, der ligner spørgsmålet mest. Det kaldes en similaritetssøgning eller nærmeste-nabo-søgning.

Den mest udbredte anvendelse i dag hedder RAG, retrieval-augmented generation. Forløbet er enkelt: brugeren stiller et spørgsmål, vektordatabasen henter de mest relevante afsnit fra virksomhedens egne dokumenter, og sprogmodellen formulerer svaret ud fra netop de afsnit. Uden det mellemled svarer modellen ud fra sin generelle træning og gætter på virksomhedens forhold. Med mellemleddet svarer den ud fra jeres eget materiale og kan henvise til, hvilket dokument svaret kommer fra.

Pinecone og Milvus løser samme opgave på hver sin måde. Pinecone er en lukket cloud-tjeneste, hvor leverandøren står for driften. Man opretter et index gennem en API og betaler for forbrug. Milvus er open source og udvikles af firmaet Zilliz. Milvus kan køre på jeres egne servere, i jeres eget cloud-miljø eller som driftet tjeneste hos Zilliz. Pinecone koster mindre tid, Milvus giver mere kontrol over hvor data ligger, og over hvordan søgningen er skruet sammen.

RAG er ikke den eneste brug. Vektordatabaser bruges også til semantisk søgning i en webshop, hvor kunden skriver "jakke til regnvejr på cykel" i stedet for et produktnavn. De bruges til anbefalinger, til at finde billeder der ligner hinanden, til at opdage dubletter i et stort dataregister og til at matche ansøgninger mod stillingsopslag.

Hvem bruger vektordatabaser som Pinecone og Milvus?

I Danmark sidder de fleste, der arbejder direkte i Pinecone eller Milvus, i softwarehuse, hos AI- og digitaliseringsbureauer eller i interne udviklingsafdelinger i større virksomheder.

Brancherne har det til fælles, at de har meget skreven viden liggende. Advokat- og revisionshuse bygger søgning i sager og regnskabsmateriale. Forsikrings- og pensionsselskaber bygger assistenter til kundeservice, der skal svare ud fra police- og betingelsestekster. Kommuner og regioner arbejder med søgning i vejledninger og journalmateriale. Produktionsvirksomheder lægger servicemanualer og reservedelsdata ind, så teknikeren kan spørge i almindeligt sprog. Energiselskaber, medicinalvirksomheder, medier og e-handel er de andre steder, hvor behovet dukker op tidligt.

De titler, der reelt rører ved opsætningen, er AI engineer, machine learning engineer, backend- eller platform-udvikler og data engineer. Kører Milvus selvhostet på Kubernetes, kommer en cloud- eller DevOps-profil ind over driften, fordi Milvus består af flere komponenter, der skal passes.

Det er værd at være ærlig om, at mange danske små og mellemstore virksomheder aldrig får en Pinecone- eller Milvus-installation. De ligger i forvejen på Microsoft Azure og bruger Azure AI Search, eller de bruger udvidelsen pgvector i den PostgreSQL-database, de allerede har. En selvstændig vektordatabase bliver først det oplagte valg, når datamængden vokser, når svartiden skal være ensartet under belastning, når data skal blive inden for bestemte grænser, eller når søgningen skal kunne mere end det indbyggede.

Typiske opgaver for en vektordatabase-specialist

Førstegangsopsætning er den mest almindelige. Her skal der vælges embedding-model, fastlægges antal dimensioner, vælges afstandsmål og bygges en pipeline, der henter dokumenter, deler dem i passende stykker og skriver dem ind. Selve indekset er ofte oprettet på en formiddag. Det, der tager tid, er at beslutte hvordan dokumenterne skal deles op, og hvilke metadata hvert stykke skal bære med sig. Den beslutning afgør kvaliteten af alle svar bagefter.

Fejlsøgning på dårlige svar er den næststørste post. Virksomheden oplever, at "AI'en svarer forkert", og tror problemet ligger i sprogmodellen. Ni gange ud af ti ligger det i fremsøgningen. Enten er teksten skåret op på et uheldigt sted, så svaret er delt i to. Eller embedding-modellen er trænet primært på engelsk og rammer skævt på dansk fagsprog og sammensatte ord. Eller der søges kun semantisk, hvor der også burde søges på præcise ord som varenumre, sagsnumre og paragraffer. Løsningen er ofte hybrid søgning, hvor betydningssøgning og ordsøgning kombineres, eventuelt med et rerankingtrin ovenpå.

Drift af selvhostet Milvus er en disciplin for sig. Milvus kører sammen med etcd, et objektlager og en beskedkø, og en klynge kan bruge meget hukommelse. Specialisten sættes ind, når klyngen falder ned under indlæsning, når hukommelsen løber fuld, eller når der skal vælges den rigtige indekstype til opgaven. Valget mellem for eksempel HNSW og IVF-varianterne er en afvejning mellem svartid, præcision og ressourceforbrug.

Migrering er et fast tilbagevendende ærinde. Prototypen er bygget med et lille bibliotek, der kører i hukommelsen, og skal nu i produktion. Eller virksomheden vil væk fra en amerikansk driftet tjeneste og over på selvhostet Milvus af hensyn til datakontrol. Eller den modsatte vej, fordi driften af klyngen æder for meget tid. Migreringen er sjældent bare et dataflyt, fordi indeksstruktur og filtreringsmuligheder er forskellige fra system til system.

En særlig og undervurderet opgave er reindeksering. Skifter man embedding-model, skal alt indhold beregnes om og skrives ind på ny. De gamle og nye talrækker kan ikke sammenlignes. Det skal planlægges, så søgningen ikke er nede imens.

GDPR og adgangsstyring fylder meget i danske opgaver. Et vektorindeks over personalemapper eller kundesager indeholder personoplysninger, også selvom teksten er lavet om til tal, og metadata ofte indeholder navne direkte. Der skal være styr på, at en medarbejder kun får fremsøgt det, vedkommende må se. Det løses typisk med filtrering på metadata eller med adskilte namespaces eller collections. Der skal også være en dokumenteret måde at slette på, når et dokument skal væk. Endelig skal det være afklaret, hvor data fysisk ligger. Pinecone kan oprette indeks i europæiske regioner, blandt andet Irland og Frankfurt, og tilbyder en model, hvor tjenesten kører inde i kundens eget cloud-miljø. Reglerne for behandling og for overførsel til tredjelande er Datatilsynets område, og den vurdering hører hjemme hos virksomhedens egen databeskyttelsesrådgiver, ikke hos leverandøren.

Synkronisering er den opgave, der melder sig efter et halvt år. Dokumenterne ligger i SharePoint, i et CRM eller i et fildrev og bliver rettet hver dag. Indekset skal følge med, og slettede dokumenter skal ud, ellers svarer AI'en ud fra materiale, der ikke gælder længere.

Omkostnings- og ydelsesoptimering kommer sidst. Her ses på, om der gemmes flere vektorer end nødvendigt, om dimensionerne kan skæres ned, om der kan komprimeres, og om trafikmønsteret passer til den valgte prismodel. Prisen for både Pinecone og driftet Milvus oplyses af udbyderen selv og ændrer sig løbende, så den bør altid slås op på udbyderens egen prisside.

Endelig hyres specialister til at måle. Uden en testsamling af rigtige spørgsmål med kendte rigtige svar er enhver ændring et gæt. At sætte den måling op er ofte det, der giver virksomheden mest for pengene.

Hvordan lærer man Pinecone og Milvus?

Der findes ingen officiel certificering i hverken Pinecone eller Milvus. Ingen af leverandørerne udsteder et anerkendt bevis, og der er ingen dansk uddannelse, der dækker emnet alene. Det, arbejdsgivere kigger efter, er et fungerende projekt, man kan vise frem og forklare.

Start i den officielle dokumentation. Pinecones dokumentation har en quickstart, der får et index op og en søgning til at køre på kort tid, og en læringssektion om embeddings og opdeling af tekst. Milvus har sin egen dokumentation på milvus.io, og der findes en letvægtsudgave, Milvus Lite, som kan køre lokalt på en bærbar, mens man lærer. Til den fulde klynge findes en officiel bootcamp med færdige eksempler på GitHub.

Af navngivne kurser er DeepLearning.AI's korte kursus "Building Applications with Vector Databases", lavet sammen med Pinecone, det mest udbredte udgangspunkt. Det bygger seks konkrete anvendelser, blandt andet semantisk søgning, RAG og hybrid søgning, og forudsætter kun grundlæggende Python.

Den faglige ballast under værktøjerne er vigtigere end værktøjerne selv. Sæt tid af til at forstå, hvad et embedding er, hvordan cosinusafstand måler lighed, og hvordan indeksalgoritmer som HNSW finder næsten-rigtige naboer hurtigt i stedet for helt rigtige naboer langsomt. Den forståelse er den samme, uanset om man senere sidder i Pinecone, Milvus, Qdrant, Weaviate eller pgvector, og den er det, der gør en i stand til at fejlsøge.

Arbejder man med dansk indhold, er der et ekstra trin, som ingen udenlandsk vejledning nævner. Test embedding-modellen på jeres egne danske tekster, før I bygger videre. Modeller trænet overvejende på engelsk håndterer danske sammensatte ord og fagsprog ujævnt, og forskellen mellem to modeller kan være afgørende for, om løsningen dur.

En realistisk forventning: en simpel opsætning kan læres på nogle dage. At få en fremsøgning til at være pålidelig nok til, at en virksomhed tør lade kunder eller medarbejdere bruge den, tager måneder og en del prøven sig frem. Det er ikke en færdighed, man får på et weekendkursus.

Ofte stillede spørgsmål

Hvad er forskellen på Pinecone og Milvus?

Pinecone er en lukket cloud-tjeneste, hvor leverandøren står for driften. I opretter et index gennem en API og slipper for servere. Milvus er open source og kan køre på jeres egne maskiner, i jeres eget cloud-miljø eller driftet hos Zilliz. Pinecone koster mindst tid at komme i gang med. Milvus giver mest kontrol over, hvor data ligger, og hvordan søgningen er sat op — mod at nogen skal passe klyngen. Valget afhænger mest af, om I har drift til rådighed, og hvor strengt jeres datakrav er.

Kan vi nøjes med pgvector i vores eksisterende PostgreSQL i stedet for Pinecone eller Milvus?

Ofte ja. Har I under nogle hundredtusinde tekststykker og i forvejen en PostgreSQL, I passer, er pgvector som regel nok, og I slipper for endnu et system at drive og betale for. En selvstændig vektordatabase begynder at give mening ved store datamængder, ved krav om ensartet svartid under belastning, ved avanceret filtrering på mange metadatafelter, eller når søgningen skal skaleres uafhængigt af resten af databasen.

Hvorfor finder vores AI ikke det rigtige dokument, selvom det ligger i vektordatabasen?

Problemet ligger næsten altid i fremsøgningen, ikke i sprogmodellen. De hyppigste årsager: teksten er skåret op midt i et svar, så halvdelen mangler. Embedding-modellen er trænet mest på engelsk og rammer skævt på dansk fagsprog og sammensatte ord. Eller der søges kun på betydning, hvor spørgsmålet indeholder et præcist varenummer eller sagsnummer, som kræver almindelig ordsøgning. Hybrid søgning og en anden opdeling af teksten løser de fleste tilfælde.

Skal vi indeksere alt forfra, hvis vi skifter embedding-model?

Ja. Talrækker fra to forskellige modeller kan ikke sammenlignes, heller ikke hvis de har samme antal dimensioner. Skifter I model, skal alt indhold beregnes om og skrives ind i et nyt index. Planlæg det som en rigtig migrering: byg det nye index ved siden af det gamle, sammenlign søgeresultaterne på en fast liste af testspørgsmål, og skift først over, når det nye er lige så godt. Ellers falder svarkvaliteten uden varsel.

Er det GDPR-lovligt at lægge vores kundedata i Pinecone?

Det afhænger af data og opsætning, ikke af værktøjet. Et vektorindeks over kundesager indeholder personoplysninger — talrækkerne er afledt af teksten, og metadata rummer ofte navne direkte. I skal have en databehandleraftale, styr på hvor data ligger, og en måde at slette på. Pinecone kan oprette indeks i europæiske regioner, blandt andet Irland og Frankfurt, og kan køre inde i jeres eget cloud-miljø. Selve vurderingen hører hjemme hos jeres databeskyttelsesrådgiver med udgangspunkt i Datatilsynets vejledning.

Se alle kompetencer