File Vector Database 컴포넌트 — sgcAI | eSeGeCe

Vector Database (File)

TsgcAIDatabaseVectorFile은 임베딩 벡터와 그 원본 텍스트를 두 개의 로컬 파일에 저장합니다. 임베딩 컴포넌트에 할당하면 애플리케이션에 함께 배포되는 검색 가능한 코퍼스를 갖게 되며, 서버도 질의당 비용도 필요 없습니다.

TsgcAIDatabaseVectorFile

의존성이 없는 벡터 저장소입니다. 벡터와 원본 텍스트를 메모리에 보관하다가 배치가 끝나면 디스크에 기록하고, 조회 시에는 가장 가까운 항목을 찾아 스캔합니다.

컴포넌트 클래스

TsgcAIDatabaseVectorFile

용도

로컬 벡터 저장소

플랫폼

Win32와 Win64

sgcAI는 자체 완결형 제품입니다. 이 컴포넌트는 기반이 되는 sgcWebSockets Core 런타임과 함께 sgcAI에 포함되어 제공되므로, 별도로 구매해야 할 기본 라이선스가 없습니다.

파일 두 개로 만드는 검색 가능한 코퍼스

입력 파일과 벡터 파일을 지정하고 임베딩 컴포넌트에 할당하면 나머지는 컴포넌트가 처리합니다.

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가 텍스트 하나와 그 벡터를 추가하며, EndAddData가 배치를 닫고 두 파일을 디스크에 기록합니다.

조회

QueryData는 질의 벡터를 받아 저장된 벡터 중 가장 가까운 것을 찾아, 그 뒤에 있는 원본 텍스트를 반환합니다.

ID 제어

OnBeginAddData에서 배치의 첫 ID와 ID 레이블을 지정할 수 있으므로, 두 번째 수집이 기존 코퍼스를 덮어쓰지 않고 이어서 추가할 수 있습니다.

사용 시점

메모리에 충분히 담기는 코퍼스와, 네트워크 연결 없이 동작해야 하는 데스크톱 애플리케이션에 가장 적합합니다. 크거나 공유되는 인덱스라면 Pinecone 저장소를 사용하세요.

교체 가능

TsgcAIDatabaseVectorPinecone과 동일한 인터페이스를 구현하므로, 로컬 파일에서 관리형 인덱스로 옮길 때 코드가 아니라 컴포넌트 하나만 바꾸면 됩니다.

계속 살펴보기

온라인 도움말sgcAI 컴포넌트의 전체 API 레퍼런스와 사용 안내서.
sgcAI 전체 컴포넌트15개 컴포넌트 전체의 기능 매트릭스를 살펴보세요.
무료 체험판 다운로드데스크톱 애플리케이션에 오프라인 검색 코퍼스를 만들어 보세요.
가격Single, Team, Site 라이선스, 전체 소스 코드 포함, 기본 제품 불필요.
최고의 가성비: All-Access모든 eSeGeCe 제품과 프리미엄 지원이 포함되어 연 €1,059부터 이용할 수 있어요.
All-Access 가격 보기

시작할 준비가 되셨나요?

무료 체험판을 다운로드하고 실행 파일 안에 검색 가능한 지식 베이스를 담아 보세요.