OpenAI Embeddings Bileşeni — sgcAI | eSeGeCe

OpenAI Embeddings

TsgcAIOpenAIEmbeddings, retrieval augmented generation'ın veri alma ve arama tarafıdır. Bir derlemi parçalara böler, her parça için bir embedding vektörü ister, bunları atadığınız vektör deposuna yazar ve herhangi bir sorgu için saklanan en yakın metni döndürür.

TsgcAIOpenAIEmbeddings

Takılabilir bir depo ile embeddings üretimi. Database özelliğine bir vektör veritabanı bileşeni atayın; parçalama, embedding, toplu işleme ve yazma dahil olmak üzere tüm veri alma hattı tek bir çağrıdan çalışır.

Bileşen sınıfı

TsgcAIOpenAIEmbeddings

Amaç

Embeddings ve RAG araması

Platformlar

Win32 ve Win64

sgcAI kendi kendine yeterlidir. Bu bileşen, üzerine kurulduğu sgcWebSockets Core çalışma zamanıyla birlikte sgcAI içinde gelir; bu nedenle satın alınacak bir temel lisans yoktur.

Bir derlemi indeksleyin, sonra sorgulayın

Bir vektör deposu atayın, CreateEmbeddingsFromFile'ı bir kez çağırın, ardından her kullanıcı sorusu için bağlam arayın.

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?", "");

Temel özellikler & yöntemler

En sık başvurduğunuz üyeler.

Database

Database, herhangi bir vektör deposu bileşenini kabul eder. Yerel bir dosya için TsgcAIDatabaseVectorFile, yönetilen bir indeks için TsgcAIDatabaseVectorPinecone kullanın. Veri alma kodu değişmez.

EmbeddingsOptions

Model varsayılan olarak text-embedding-3-small değerini alır. ChunkSize, derlemin nasıl bölüneceğini denetler; WaitStoringData, depoya yazma hızını ayarlar ve User, istekleri etiketler.

Veri alma

CreateEmbeddings bir dizeyi, CreateEmbeddingsFromFile ise bir dosyanın tamamını indeksler. Her ikisi de depoda bir toplu iş açar, parça başına bir vektör gönderir ve ardından bu toplu işi kapatır.

Sorgu

GetEmbedding, bir sorguyu embedding'e dönüştürür ve saklanan en yakın metni döndürür; bu metin, istem içine bağlam olarak yapıştırdığınız dizedir.

Toplu iş olayları

OnCreateEmbeddingsStart toplam boyutu bildirir; OnCreateEmbeddingsProgress konumu bildirir ve uzun bir veri alma işleminin iptal edilebilmesi için bir devam bayrağı taşır; OnCreateEmbeddingsStop ise çalışmayı kapatır.

Parça başına olaylar

OnBeforeCreateEmbedding, tek bir isteği inceleyebilir ve reddedebilir; OnAfterCreateEmbedding ise isteği ve yanıtı size verir; bu da token harcamasını denetlemek için kullanışlıdır.

Belirtimler & referanslar

Bu bileşenin kullandığı hizmetler ve protokoller için yetkili kaynaklar.

Keşfetmeye devam edin

Çevrimiçi yardımsgcAI bileşenleri için tam API referansı ve kullanım kılavuzu.
Tüm sgcAI Bileşenleri15 bileşenin tamamının tam özellik matrisine göz atın.
Ücretsiz Deneme Sürümünü İndirinKendi belgelerinizi indeksleyin ve çevrimdışı olarak sorgulayın.
FiyatlandırmaSingle, Team ve Site lisansları, tam kaynak kodu, temel ürün gerekmez.
En avantajlı seçenek: All-AccessTüm eSeGeCe ürünleri, Premium Destek dahil, yılda €1,059'dan itibaren.
All-Access fiyatlarına bakın

Başlamaya Hazır mısınız?

Ücretsiz deneme sürümünü indirin ve bir dil modelini kendi verilerinize dayandırın.