Dateibasierte Vektordatenbank-Komponente — sgcAI | eSeGeCe

Vector Database (File)

TsgcAIDatabaseVectorFile speichert Embedding-Vektoren und den zugehörigen Quelltext in zwei lokalen Dateien. Weise die Komponente einer Embeddings-Komponente zu und du hast einen durchsuchbaren Korpus, der direkt in deiner Anwendung mitgeliefert wird, ohne Server und ohne Kosten pro Abfrage.

TsgcAIDatabaseVectorFile

Ein Vektorspeicher ganz ohne Abhängigkeiten. Vektoren und ihre Quelltexte werden im Speicher gehalten, beim Schließen eines Batches auf die Festplatte geschrieben und bei einer Abfrage nach dem nächstgelegenen Treffer durchsucht.

Komponentenklasse

TsgcAIDatabaseVectorFile

Zweck

Lokaler Vektorspeicher

Plattformen

Win32 und Win64

sgcAI ist eigenständig. Diese Komponente wird in sgcAI zusammen mit der sgcWebSockets Core Runtime ausgeliefert, auf der sie aufbaut. Du musst also keine Basislizenz kaufen.

Ein durchsuchbarer Korpus in zwei Dateien

Zeige der Komponente eine Eingabedatei und eine Vektordatei, weise sie einer Embeddings-Komponente zu und den Rest erledigt sie selbst.

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);

Wichtige Eigenschaften & Methoden

Die Member, zu denen du am häufigsten greifst.

VectorFileOptions

InputFilename enthält die Quelltexte, adressiert über eine ID, und VectorFilename enthält die passenden Vektoren. Liefere beide Dateien mit deiner Anwendung aus und der Korpus steht offline zur Verfügung.

Ingest

BeginAddData öffnet einen Batch, AddData fügt einen Text samt Vektor hinzu und EndAddData schließt den Batch und schreibt beide Dateien auf die Festplatte.

Abfrage

QueryData nimmt einen Abfragevektor entgegen, durchsucht die gespeicherten Vektoren nach dem nächstgelegenen Treffer und liefert den Originaltext dahinter zurück.

ID-Steuerung

Mit OnBeginAddData legst du die erste ID und die ID-Bezeichnung eines Batches fest, sodass ein zweiter Ingest an einen bestehenden Korpus anfügt, statt ihn zu überschreiben.

Wann du sie einsetzt

Am besten geeignet für Korpora, die bequem in den Speicher passen, und für Desktop-Anwendungen, die ohne Netzwerkverbindung laufen müssen. Für große oder gemeinsam genutzte Indizes nimm stattdessen den Pinecone-Speicher.

Austauschbar

Sie implementiert dieselbe Schnittstelle wie TsgcAIDatabaseVectorPinecone. Der Umstieg von lokalen Dateien auf einen verwalteten Index ist deshalb ein Komponentenwechsel, keine Codeänderung.

Weiter entdecken

Online-HilfeVollständige API-Referenz und Anwendungsleitfaden für die sgcAI-Komponenten.
Alle sgcAI-KomponentenDurchstöbere die vollständige Funktionsmatrix aller 15 Komponenten.
Kostenlose Testversion herunterladenBaue in einer Desktop-Anwendung einen offline durchsuchbaren Korpus auf.
PreiseSingle-, Team- und Site-Lizenzen, vollständiger Quellcode, kein Basisprodukt erforderlich.
Bestes Preis-Leistungs-Verhältnis: All-AccessAlle eSeGeCe-Produkte, inklusive Premium-Support, ab €1,059 pro Jahr.
All-Access-Preise ansehen

Bereit loszulegen?

Lade die kostenlose Testversion herunter und liefere eine durchsuchbare Wissensbasis direkt in deiner ausführbaren Datei aus.