ファイル版ベクトルデータベースコンポーネント — sgcAI | eSeGeCe

ベクトルデータベース(ファイル)

TsgcAIDatabaseVectorFile は、埋め込みベクトルと元のテキストを 2 つのローカルファイルに保存します。埋め込みコンポーネントに割り当てれば、アプリケーションに同梱できる検索可能なコーパスが手に入ります。サーバーもクエリごとの費用も不要です。

TsgcAIDatabaseVectorFile

依存関係のないベクトルストアです。ベクトルと元のテキストはメモリ上に保持され、バッチが閉じられるときにディスクへ書き出され、クエリ時には最も近い一致がスキャンで検索されます。

コンポーネントクラス

TsgcAIDatabaseVectorFile

用途

ローカルのベクトルストア

プラットフォーム

Win32 および Win64

sgcAI は単体で完結しています。このコンポーネントは、土台となる sgcWebSockets Core ランタイムとともに sgcAI に同梱されているため、基本ライセンスを購入する必要はありません。

2 つのファイルで作る検索可能なコーパス

入力ファイルとベクトルファイルを指定し、埋め込みコンポーネントに割り当てれば、あとはコンポーネントが処理します。

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

主なプロパティとメソッド

最もよく使うメンバーです。

VectorFileOptions

InputFilename は id をキーとする元テキストを、VectorFilename は対応するベクトルを保持します。両方のファイルをアプリケーションに同梱すれば、コーパスはオフラインでも利用できます。

取り込み

BeginAddData がバッチを開き、AddData がテキストとそのベクトルを 1 件追加し、EndAddData がバッチを閉じて両方のファイルをディスクに書き出します。

クエリ

QueryData はクエリベクトルを受け取り、保存済みベクトルから最も近いものを走査して、その元テキストを返します。

id の制御

OnBeginAddData でバッチの開始 id と id ラベルを設定できるため、2 回目以降の取り込みで既存のコーパスを上書きせずに追記できます。

適した用途

メモリに無理なく収まるコーパスや、ネットワーク接続なしで動作する必要があるデスクトップアプリケーションに最適です。大規模なインデックスや共有インデックスには Pinecone ストアを使ってください。

相互に置き換え可能

TsgcAIDatabaseVectorPinecone と同じインターフェースを実装しているため、ローカルファイルからマネージドインデックスへの移行はコンポーネントの差し替えだけで済み、コードの変更は不要です。

さらに詳しく

オンラインヘルプsgcAI コンポーネントの完全な API リファレンスと利用ガイドです。
sgcAI の全コンポーネント15 コンポーネントすべての機能一覧を確認できます。
無料体験版をダウンロードデスクトップアプリケーションに、オフラインで検索できるコーパスを構築できます。
価格Single、Team、Site の各ライセンス。完全なソースコード付き、基本製品は不要です。
最もお得な選択: All-AccesseSeGeCe の全製品にプレミアムサポートが付いて、年間 €1,059 からご利用いただけます。
All-Access の価格を見る

はじめてみませんか

無料体験版をダウンロードして、検索可能なナレッジベースを実行ファイルに同梱しましょう。