Komponent File Vector Database — sgcAI | eSeGeCe

Vector Database (File)

TsgcAIDatabaseVectorFile przechowuje wektory embeddingów i ich tekst źródłowy w dwóch lokalnych plikach. Przypisz go do komponentu embeddingów, a otrzymasz przeszukiwalny korpus dostarczany razem z twoją aplikacją, bez serwera i bez kosztu za zapytanie.

TsgcAIDatabaseVectorFile

Baza wektorowa bez zależności. Wektory i ich teksty źródłowe są trzymane w pamięci, zapisywane na dysk przy zamknięciu wsadu i przeszukiwane w poszukiwaniu najbliższego dopasowania przy zapytaniu.

Klasa komponentu

TsgcAIDatabaseVectorFile

Przeznaczenie

Lokalna baza wektorowa

Platformy

Win32 i Win64

sgcAI jest samowystarczalny. Ten komponent jest dostarczany w sgcAI razem ze środowiskiem uruchomieniowym sgcWebSockets Core, na którym jest zbudowany, więc nie ma licencji bazowej do kupienia.

Przeszukiwalny korpus w dwóch plikach

Wskaż komponentowi plik wejściowy i plik wektorów, przypisz go do komponentu embeddingów, a resztą zajmie się sam.

uses
  sgcAI, sgcAI_DB_Vector_File, sgcAI_OpenAI_Embeddings;

var
  oDB: TsgcAIDatabaseVectorFile;
  oEmbeddings: TsgcAIOpenAIEmbeddings;
begin
  oDB := TsgcAIDatabaseVectorFile.Create(nil);
  oDB.VectorFileOptions.InputFilename  := 'corpus.sgcif';
  oDB.VectorFileOptions.VectorFilename := 'corpus.sgcvf';

  oEmbeddings := TsgcAIOpenAIEmbeddings.Create(nil);
  oEmbeddings.OpenAIOptions.ApiKey := 'sk-...';
  oEmbeddings.Database := oDB;
  oEmbeddings.CreateEmbeddingsFromFile('manual.txt');

  // The store can also be driven directly.
  oDB.BeginAddData;
  oDB.AddData('Reset procedure: hold the button for 10 seconds.', vVector);
  oDB.EndAddData;

  Memo1.Text := oDB.QueryData(vQueryVector);
end;
// includes: sgcAI.hpp, sgcAI_DB_Vector_File.hpp

TsgcAIDatabaseVectorFile *oDB = new TsgcAIDatabaseVectorFile(NULL);
oDB->VectorFileOptions->InputFilename  = "corpus.sgcif";
oDB->VectorFileOptions->VectorFilename = "corpus.sgcvf";

oDB->BeginAddData();
oDB->AddData("Reset procedure: hold the button for 10 seconds.", vVector);
oDB->EndAddData();

String vBest = oDB->QueryData(vQueryVector);

Kluczowe właściwości i metody

Składowe, po które sięgasz najczęściej.

VectorFileOptions

InputFilename przechowuje teksty źródłowe kluczowane identyfikatorem, a VectorFilename odpowiadające im wektory. Dostarcz oba pliki razem ze swoją aplikacją, a korpus będzie dostępny bez połączenia.

Wczytywanie danych

BeginAddData otwiera wsad, AddData dodaje jeden tekst wraz z jego wektorem, a EndAddData zamyka wsad i zapisuje oba pliki na dysk.

Zapytanie

QueryData przyjmuje wektor zapytania, przeszukuje zapisane wektory w poszukiwaniu najbliższego dopasowania i zwraca stojący za nim oryginalny tekst.

Kontrola identyfikatorów

OnBeginAddData pozwala ustawić pierwszy identyfikator i etykietę identyfikatora dla wsadu, dzięki czemu drugie wczytanie może dopisać się do istniejącego korpusu zamiast go nadpisać.

Kiedy go używać

Najlepszy dla korpusów, które swobodnie mieszczą się w pamięci, i dla aplikacji desktopowych, które muszą działać bez połączenia sieciowego. Dla dużych lub współdzielonych indeksów użyj magazynu Pinecone.

Wymienność

Implementuje ten sam interfejs co TsgcAIDatabaseVectorPinecone, więc przejście z plików lokalnych na zarządzany indeks to zmiana jednego komponentu, a nie zmiana kodu.

Poznawaj dalej

Pomoc onlinePełna dokumentacja API i przewodnik użytkowania komponentów sgcAI.
Wszystkie komponenty sgcAIPrzejrzyj pełną matrycę funkcji wszystkich 15 komponentów.
Pobierz bezpłatną wersję próbnąZbuduj przeszukiwalny korpus offline w aplikacji desktopowej.
CennikLicencje Single, Team i Site, pełny kod źródłowy, bez wymaganego produktu bazowego.
Najkorzystniejsza oferta: All-AccessWszystkie produkty eSeGeCe, ze wsparciem Premium w cenie, już od €1,059 rocznie.
Zobacz cennik All-Access

Gotowy, aby zacząć?

Pobierz bezpłatną wersję próbną i dostarcz przeszukiwalną bazę wiedzy wewnątrz swojego pliku wykonywalnego.