Componente de banco de dados vetorial Pinecone — sgcAI | eSeGeCe

Banco de dados vetorial (Pinecone)

O TsgcAIDatabaseVectorPinecone coloca seus embeddings em um índice Pinecone gerenciado. A ingestão agrupa todos os vetores em um único upsert, e uma consulta retorna o texto armazenado por trás da correspondência mais próxima, então um corpus pode ser compartilhado entre máquinas e usuários.

TsgcAIDatabaseVectorPinecone

A contraparte na nuvem do armazenamento em arquivo. Mesma interface, mesmas chamadas, mas o índice fica no Pinecone e escala além do que cabe na memória.

Classe do componente

TsgcAIDatabaseVectorPinecone

Finalidade

Índice vetorial gerenciado

Plataformas

Win32 e Win64

O sgcAI é autossuficiente. Este componente vem dentro do sgcAI junto com o runtime sgcWebSockets Core sobre o qual foi construído, então não há licença base para comprar.

Ingira no Pinecone, consulte de qualquer lugar

Defina a chave de API, o ambiente, o índice e o projeto, e atribua o componente a um componente de embeddings.

uses
  sgcAI, sgcAI_DB_Vector_Pinecone, sgcAI_OpenAI_Embeddings;

var
  oDB: TsgcAIDatabaseVectorPinecone;
  oEmbeddings: TsgcAIOpenAIEmbeddings;
begin
  oDB := TsgcAIDatabaseVectorPinecone.Create(nil);
  oDB.PineconeOptions.ApiKey           := 'pc-...';
  oDB.PineconeOptions.Environment      := 'us-west4-gcp-free';
  oDB.PineconeIndexOptions.IndexName   := 'sgc-embeddings';
  oDB.PineconeIndexOptions.ProjectId   := 'abcd1234';

  oEmbeddings := TsgcAIOpenAIEmbeddings.Create(nil);
  oEmbeddings.OpenAIOptions.ApiKey := 'sk-...';
  oEmbeddings.Database := oDB;

  // Every chunk is batched into a single upsert.
  oEmbeddings.CreateEmbeddingsFromFile('manual.txt');

  // Retrieve context for a question.
  Memo1.Text := oEmbeddings.GetEmbedding('How do I reset the device?', '');
end;
// includes: sgcAI.hpp, sgcAI_DB_Vector_Pinecone.hpp

TsgcAIDatabaseVectorPinecone *oDB = new TsgcAIDatabaseVectorPinecone(NULL);
oDB->PineconeOptions->ApiKey         = "pc-...";
oDB->PineconeOptions->Environment    = "us-west4-gcp-free";
oDB->PineconeIndexOptions->IndexName = "sgc-embeddings";
oDB->PineconeIndexOptions->ProjectId = "abcd1234";

oDB->BeginAddData();
oDB->AddData("Reset procedure: hold the button for 10 seconds.", vVector);
oDB->EndAddData();

String vBest = oDB->QueryData(vQueryVector);

Principais propriedades e métodos

Os membros que você usa com mais frequência.

PineconeOptions

ApiKey e Environment autenticam na sua conta Pinecone e selecionam a região onde o índice fica.

PineconeIndexOptions

IndexName e ProjectId endereçam o índice específico. Ambos aparecem no console do Pinecone.

Ingestão

BeginAddData começa a coletar, AddData enfileira um texto e seu vetor, e EndAddData envia o lote inteiro como um único upsert em vez de uma requisição por trecho.

Consulta

QueryData emite uma consulta de similaridade contra o índice e retorna o texto armazenado por trás da melhor correspondência.

Controle de ids

OnBeginAddData define o primeiro id e o rótulo de id do lote, então várias ingestões podem coexistir em um mesmo índice sem colidir.

Quando usar

Ideal quando o corpus fica grande demais para um arquivo local, quando vários aplicativos compartilham um índice, ou quando a ingestão e a consulta acontecem em máquinas diferentes.

Especificações e referências

Fontes oficiais dos serviços e protocolos que este componente usa.

Continue explorando

Ajuda onlineReferência completa da API e guia de uso dos componentes sgcAI.
Todos os componentes sgcAIExplore a matriz de recursos completa dos 15 componentes.
Baixar avaliação gratuitaEnvie seus embeddings para um índice gerenciado e consulte-os.
PreçosLicenças Single, Team e Site, código-fonte completo, sem necessidade de produto base.
Melhor custo-benefício: All-AccessTodos os produtos da eSeGeCe, com Suporte Premium incluído, a partir de €1,059/ano.
Ver preços do All-Access

Pronto para começar?

Baixe a versão de avaliação gratuita e coloque seu corpus em um índice vetorial gerenciado.