Wektorowe bazy danych dla systemów embeddingów

Wprowadzenie do osadzeń z OpenAI API

Emmanuel Pire

Senior Software Engineer, DataCamp

Ograniczenia bieżącego podejścia

  • Ładowanie wszystkich embeddingów do pamięci (1536 floatów ~ 13 kB/embedding)
  • Ponowne obliczanie embeddingów dla każdego zapytania
  • Obliczanie odległości cosinusowych dla każdego embeddingu i sortowanie jest wolne i skaluje się liniowo

Diagram pokazujący, jak dokumenty i zapytanie są embeddowane przy każdym zapytaniu bez rozwiązania do przechowywania.

Wprowadzenie do osadzeń z OpenAI API

Wektorowe bazy danych

  • Osadzone dokumenty są przechowywane i odpytywane z wektorowej bazy danych

Diagram pokazujący, jak wektorowa baza danych przechowuje embeddingi dokumentów i zwraca wyniki na podstawie osadzonego zapytania.

Wprowadzenie do osadzeń z OpenAI API

 

Baza danych NoSQL
  • Bardziej elastyczna struktura umożliwiająca szybsze zapytania

Przykłady schematów baz NoSQL: klucz:wartość, dokumentowe i grafowe.

 

Baza danych SQL/relacyjna
  • Dane ustrukturyzowane w tabelach, wierszach i kolumnach

Tabele z kolumnami i wierszami w relacyjnej bazie danych SQL.

Wprowadzenie do osadzeń z OpenAI API

Komponenty do przechowywania

 

  • Embeddingi
  • Teksty źródłowe
  • Metadane
    • Identyfikatory i odniesienia
    • Dodatkowe dane przydatne do filtrowania wyników

 

Wskazówka: Nie przechowuj tekstu źródłowego jako metadanych!

Ikona wektorowej bazy danych.

Wprowadzenie do osadzeń z OpenAI API

Krajobraz wektorowych baz danych

Najpopularniejsze rozwiązania wektorowych baz danych posortowane według modelu źródłowego (otwarte/zamknięte) oraz rodzaju (dedykowane lub nie).

1 Źródło obrazu: Yingjun Wu
Wprowadzenie do osadzeń z OpenAI API

Które rozwiązanie jest najlepsze?

 

  • Zarządzanie bazą danych:
    • Zarządzana → droższa, ale zmniejsza nakład pracy
    • Samodzielna → tańsza, ale wymaga czasu i wiedzy
  • Open source czy komercyjna?
    • Open source → elastyczna i opłacalna
    • Komercyjna → lepsze wsparcie, zaawansowane funkcje i zgodność

 

  • Modele danych: czy typ danych sprzyja konkretnemu rodzajowi bazy?
  • Specyficzne funkcje: czy przypadek użycia wymaga określonej funkcjonalności, np. przechowywania multi-modalnego?

Logo Chroma.

Wprowadzenie do osadzeń z OpenAI API

Czas na ćwiczenia!

Wprowadzenie do osadzeń z OpenAI API

Preparing Video For Download...