Componente OpenAI Embeddings — sgcAI | eSeGeCe

OpenAI Embeddings

TsgcAIOpenAIEmbeddings è il lato di ingestione e di ricerca della generazione arricchita dal recupero. Divide un corpus in blocchi, richiede un vettore di embedding per ciascuno, li scrive nel vector store che gli assegni e restituisce il testo memorizzato più vicino per qualsiasi interrogazione.

TsgcAIOpenAIEmbeddings

Generazione di embeddings con uno store intercambiabile. Assegna un componente di database vettoriale a Database e l'intera pipeline di ingestione, suddivisione in blocchi, calcolo degli embedding, invio in batch e scrittura, parte da una sola chiamata.

Classe del componente

TsgcAIOpenAIEmbeddings

Scopo

Embeddings e ricerca RAG

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.

Indicizza un corpus, poi interrogalo

Assegna un vector store, chiama CreateEmbeddingsFromFile una volta sola, poi cerca il contesto per ogni domanda dell'utente.

uses
  sgcAI, sgcAI_OpenAI_Embeddings, sgcAI_DB_Vector_File;

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

  oEmbeddings := TsgcAIOpenAIEmbeddings.Create(nil);
  oEmbeddings.OpenAIOptions.ApiKey := 'sk-...';
  oEmbeddings.EmbeddingsOptions.Model     := 'text-embedding-3-small';
  oEmbeddings.EmbeddingsOptions.ChunkSize := 4096;
  oEmbeddings.Database := oDB;

  oEmbeddings.OnCreateEmbeddingsProgress := EmbeddingsProgress;

  // One pass over the corpus, done once.
  oEmbeddings.CreateEmbeddingsFromFile('manual.txt');

  // Then, per question, retrieve the nearest chunk.
  vContext := oEmbeddings.GetEmbedding('How do I reset the device?', '');
end;

procedure TForm1.EmbeddingsProgress(Sender: TObject;
  aPosition: Int64; var aContinue: Boolean);
begin
  ProgressBar1.Position := aPosition;
  aContinue := not CancelRequested;
end;
// includes: sgcAI.hpp, sgcAI_OpenAI_Embeddings.hpp, sgcAI_DB_Vector_File.hpp

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

TsgcAIOpenAIEmbeddings *oEmbeddings = new TsgcAIOpenAIEmbeddings(NULL);
oEmbeddings->OpenAIOptions->ApiKey = "sk-...";
oEmbeddings->Database = oDB;

oEmbeddings->CreateEmbeddingsFromFile("manual.txt");
String vContext = oEmbeddings->GetEmbedding("How do I reset the device?", "");

Proprietà e metodi principali

I membri che userai più spesso.

Database

Database accetta qualsiasi componente di vector store. Usa TsgcAIDatabaseVectorFile per un file locale oppure TsgcAIDatabaseVectorPinecone per un indice gestito. Il codice di ingestione non cambia.

EmbeddingsOptions

Model vale per impostazione predefinita text-embedding-3-small. ChunkSize controlla come viene diviso il corpus, WaitStoringData regola il ritmo delle scritture sullo store e User etichetta le richieste.

Ingestione

CreateEmbeddings indicizza una stringa e CreateEmbeddingsFromFile indicizza un intero file. Entrambi aprono un batch sullo store, inviano un vettore per blocco e poi lo chiudono.

Interrogazione

GetEmbedding calcola l'embedding di una query e restituisce il testo memorizzato più vicino, cioè la stringa che incolli nel prompt come contesto.

Eventi di batch

OnCreateEmbeddingsStart riporta la dimensione totale, OnCreateEmbeddingsProgress riporta la posizione e porta con sé un flag di continuazione perché una lunga ingestione possa essere annullata, e OnCreateEmbeddingsStop chiude l'esecuzione.

Eventi per blocco

OnBeforeCreateEmbedding può ispezionare e rifiutare una singola richiesta, e OnAfterCreateEmbedding ti consegna la richiesta e la risposta, il che è utile per controllare la spesa in token.

Specifiche e riferimenti

Fonti autorevoli per i servizi e i protocolli usati da questo componente.

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 gratuitaIndicizza i tuoi documenti e interrogali offline.
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 fonda un modello linguistico sui tuoi dati.