Componente Vector Database (File) — sgcAI | eSeGeCe

Vector Database (File)

TsgcAIDatabaseVectorFile guarda los vectores de embedding y su texto de origen en dos archivos locales. Asígnalo a un componente de embeddings y tendrás un corpus consultable que se distribuye dentro de tu aplicación, sin servidor y sin coste por consulta.

TsgcAIDatabaseVectorFile

Un almacén vectorial sin dependencias. Los vectores y sus textos de origen se mantienen en memoria, se escriben en disco cuando se cierra un lote, y se recorren en busca de la coincidencia más próxima en cada consulta.

Clase del componente

TsgcAIDatabaseVectorFile

Propósito

Almacén vectorial local

Plataformas

Win32 y Win64

sgcAI es autónomo. Este componente se incluye dentro de sgcAI junto con el runtime sgcWebSockets Core sobre el que está construido, así que no hay ninguna licencia base que comprar.

Un corpus consultable en dos archivos

Apunta el componente a un archivo de entrada y a un archivo de vectores, asígnalo a un componente de embeddings y él se encarga del resto.

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

Propiedades y métodos principales

Los miembros que usarás más a menudo.

VectorFileOptions

InputFilename guarda los textos de origen indexados por identificador y VectorFilename guarda los vectores correspondientes. Distribuye ambos archivos con tu aplicación y el corpus estará disponible sin conexión.

Ingesta

BeginAddData abre un lote, AddData añade un texto y su vector, y EndAddData cierra el lote y escribe ambos archivos en disco.

Consulta

QueryData recibe un vector de consulta, recorre los vectores guardados en busca de la coincidencia más próxima y devuelve el texto original que hay detrás.

Control de identificadores

OnBeginAddData te permite fijar el primer identificador y la etiqueta de identificador de un lote, de modo que una segunda ingesta pueda añadirse a un corpus existente en lugar de sobrescribirlo.

Cuándo usarlo

Es la mejor opción para corpus que caben holgadamente en memoria y para aplicaciones de escritorio que deben funcionar sin conexión de red. Para índices grandes o compartidos, usa en su lugar el almacén de Pinecone.

Intercambiable

Implementa la misma interfaz que TsgcAIDatabaseVectorPinecone, así que pasar de archivos locales a un índice gestionado es un cambio de un componente, no un cambio de código.

Sigue explorando

Ayuda en líneaReferencia completa de la API y guía de uso de los componentes sgcAI.
Todos los componentes sgcAIConsulta la matriz completa de características de los 15 componentes.
Descargar prueba gratuitaConstruye un corpus consultable sin conexión en una aplicación de escritorio.
PreciosLicencias Single, Team y Site, código fuente completo, sin producto base necesario.
La mejor opción: All-AccessTodos los productos de eSeGeCe, con Premium Support incluido, desde €1,059 al año.
Ver precios de All-Access

¿Listo para empezar?

Descarga la prueba gratuita y distribuye una base de conocimiento consultable dentro de tu ejecutable.