Vektorové databáze pro embedding systémy

Introduction to Embeddings with the OpenAI API

Emmanuel Pire

Senior Software Engineer, DataCamp

Omezení současného přístupu

  • Načítání všech embeddingů do paměti (1536 floats ~ 13 kB/embedding)
  • Embeddingy přepočítávány pro každý nový dotaz
  • Výpočet kosinových vzdáleností pro každý embedding a řazení je pomalé a škáluje lineárně

Diagram znázorňující, jak jsou dokumenty a dotaz vkládány při každém dotazu bez úložného řešení.

Introduction to Embeddings with the OpenAI API

Vektorové databáze

  • Vložené dokumenty jsou uloženy a dotazovány z vektorové databáze

Diagram znázorňující, jak vektorová databáze ukládá embeddingy dokumentů a vrací výsledky na základě vloženého dotazu uživateli.

Introduction to Embeddings with the OpenAI API

 

NoSQL databáze
  • Flexibilnější struktura umožňující rychlejší dotazování

Příklady schémat NoSQL databází, včetně klíč:hodnota, dokumentových a grafových databází.

 

SQL/relační databáze
  • Strukturovaná data v tabulkách, řádcích a sloupcích

Tabulky se sloupci a řádky v SQL, neboli relační, databázi.

Introduction to Embeddings with the OpenAI API

Komponenty k uložení

 

  • Embeddingy
  • Zdrojové texty
  • Metadata
    • ID a reference
    • Doplňující data užitečná pro filtrování výsledků

 

Tip: Neukládejte zdrojový text jako metadata!

Ikona vektorové databáze.

Introduction to Embeddings with the OpenAI API

Přehled vektorových databází

Přehled nejpopulárnějších řešení vektorových databází, rozdělených podle toho, zda jsou s uzavřeným nebo otevřeným zdrojovým kódem, a zda se jedná o specializované vektorové databáze.

1 Zdroj obrázku: Yingjun Wu
Introduction to Embeddings with the OpenAI API

Které řešení je nejlepší?

 

  • Správa databáze:
    • Spravovaná → dražší, ale snižuje pracovní zátěž
    • Samoobslužná → levnější, ale vyžaduje čas a odborné znalosti
  • Otevřený nebo komerční zdrojový kód?
    • Otevřený zdroj → flexibilní a nákladově efektivní
    • Komerční → lepší podpora, pokročilejší funkce a soulad s předpisy

 

  • Datové modely: hodí se typ dat pro konkrétní typ databáze?
  • Specifické funkce: vyžaduje váš případ použití konkrétní funkcionalitu, například multimodální úložiště?

Logo Chroma.

Introduction to Embeddings with the OpenAI API

Pojďme cvičit!

Introduction to Embeddings with the OpenAI API

Preparing Video For Download...