Vektordatabaser för inbäddningssystem

Introduktion till inbäddningar med OpenAI API

Emmanuel Pire

Senior Software Engineer, DataCamp

Begränsningar med det nuvarande tillvägagångssättet

  • Alla inbäddningar läses in i minnet (1536 flyttal ~ 13kB/inbäddning)
  • Inbäddningar beräknas om för varje ny fråga
  • Att beräkna cosinusavstånd för alla inbäddningar och sortera dem är långsamt och skalar linjärt

Ett diagram som visar hur dokument och frågor bäddas in vid varje förfrågan utan någon lagringslösning.

Introduktion till inbäddningar med OpenAI API

Vektordatabaser

  • Inbäddade dokument lagras och hämtas från vektordatabasen

Ett diagram som visar hur en vektordatabas lagrar dokumentinbäddningar och returnerar resultat baserade på en inbäddad fråga till användaren.

Introduktion till inbäddningar med OpenAI API

 

NoSQL-databas
  • Mer flexibel struktur som möjliggör snabbare frågehantering

Exempel på NoSQL-databasscheman, inklusive nyckel:värde-, dokument- och grafdatabaser.

 

SQL/relationsdatabas
  • Strukturerad data i tabeller, rader och kolumner

Tabeller med kolumner och rader i en SQL-, eller relations-, databas.

Introduktion till inbäddningar med OpenAI API

Komponenter att lagra

 

  • Inbäddningar
  • Källtexter
  • Metadata
    • ID:n och referenser
    • Ytterligare data som är användbar för filtrering

 

Tips: Lagra inte källtexten som metadata!

En ikon för en vektordatabas.

Introduktion till inbäddningar med OpenAI API

Vektordatabasens landskap

Många av de mest populära vektordatabaslösningarna, sorterade efter om de är stängda eller öppen källkod, och om de är dedikerade vektordatabaser eller inte.

1 Bildkälla: Yingjun Wu
Introduktion till inbäddningar med OpenAI API

Vilken lösning är bäst?

 

  • Databashantering:
    • Hanterad → dyrare men minskar arbetsbelastningen
    • Självhanterad → billigare men kräver tid och kompetens
  • Öppen källkod eller kommersiell?
    • Öppen källkod → flexibel och kostnadseffektiv
    • Kommersiell → bättre support, mer avancerade funktioner och regelefterlevnad

 

  • Datamodeller: lämpar sig datatypen för en viss databastyp?
  • Specifika funktioner: kräver ditt användningsfall viss funktionalitet, t.ex. multimodal lagring?

Chroma-logotyp.

Introduktion till inbäddningar med OpenAI API

Nu kör vi en övning!

Introduktion till inbäddningar med OpenAI API

Preparing Video For Download...