Componente Vector Database su file — sgcAI | eSeGeCe

Vector Database (file)

TsgcAIDatabaseVectorFile salva i vettori di embedding e il loro testo di origine in due file locali. Assegnalo a un componente di embeddings e ottieni un corpus consultabile distribuito dentro la tua applicazione, senza server e senza costi per interrogazione.

TsgcAIDatabaseVectorFile

Un vector store senza dipendenze. I vettori e i loro testi di origine sono tenuti in memoria, scritti su disco alla chiusura di un batch e scanditi alla ricerca della corrispondenza più vicina durante l'interrogazione.

Classe del componente

TsgcAIDatabaseVectorFile

Scopo

Vector store locale

Piattaforme

Win32 e Win64

sgcAI è autonomo. Questo componente è distribuito dentro sgcAI insieme al runtime sgcWebSockets Core su cui è costruito, quindi non c'è nessuna licenza base da acquistare.

Un corpus consultabile in due file

Punta il componente a un file di ingresso e a un file di vettori, assegnalo a un componente di embeddings e al resto pensa lui.

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

Proprietà e metodi principali

I membri che userai più spesso.

VectorFileOptions

InputFilename contiene i testi di origine indicizzati per id e VectorFilename contiene i vettori corrispondenti. Distribuisci entrambi i file con la tua applicazione e il corpus è disponibile offline.

Ingestione

BeginAddData apre un batch, AddData aggiunge un testo e il suo vettore, e EndAddData chiude il batch e scrive entrambi i file su disco.

Interrogazione

QueryData riceve un vettore di query, scandisce i vettori memorizzati alla ricerca della corrispondenza più vicina e restituisce il testo originale che la genera.

Controllo degli id

OnBeginAddData ti permette di impostare il primo id e l'etichetta dell'id per un batch, così una seconda ingestione può aggiungersi a un corpus esistente invece di sovrascriverlo.

Quando usarlo

Ideale per corpus che stanno comodamente in memoria e per applicazioni desktop che devono funzionare senza connessione di rete. Per indici grandi o condivisi usa invece lo store Pinecone.

Intercambiabile

Implementa la stessa interfaccia di TsgcAIDatabaseVectorPinecone, quindi passare dai file locali a un indice gestito è un cambio di un componente, non un cambio di codice.

Continua a esplorare

Guida onlineRiferimento API completo e guida all'utilizzo dei componenti sgcAI.
Tutti i componenti sgcAIEsplora la matrice completa delle funzionalità di tutti e 15 i componenti.
Scarica la versione di prova gratuitaCostruisci un corpus consultabile offline in un'applicazione desktop.
PrezziLicenze Single, Team e Site, codice sorgente completo, nessun prodotto base richiesto.
La scelta più conveniente: All-AccessTutti i prodotti eSeGeCe, con Supporto Premium incluso, a partire da €1,059/anno.
Vedi i prezzi All-Access

Pronto per iniziare?

Scarica la versione di prova gratuita e distribuisci una base di conoscenza consultabile dentro il tuo eseguibile.