Componente Vector Database (Pinecone) — sgcAI | eSeGeCe

Vector Database (Pinecone)

TsgcAIDatabaseVectorPinecone pone tus embeddings en un índice gestionado de Pinecone. La ingesta agrupa todos los vectores en un único upsert, y una consulta devuelve el texto guardado detrás de la coincidencia más próxima, de modo que un corpus puede compartirse entre máquinas y usuarios.

TsgcAIDatabaseVectorPinecone

La contrapartida en la nube del almacén en archivo. La misma interfaz, las mismas llamadas, pero el índice vive en Pinecone y escala más allá de lo que cabe en memoria.

Clase del componente

TsgcAIDatabaseVectorPinecone

Propósito

Índice vectorial gestionado

Plataformas

Win32 y Win64

sgcAI es autónomo. Este componente se incluye dentro de sgcAI junto con el runtime sgcWebSockets Core sobre el que está construido, así que no hay ninguna licencia base que comprar.

Ingesta en Pinecone, consulta desde cualquier sitio

Configura la clave API, el entorno, el índice y el proyecto, y asígnalo a un 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);

Propiedades y métodos principales

Los miembros que usarás más a menudo.

PineconeOptions

ApiKey y Environment autentican contra tu cuenta de Pinecone y seleccionan la región en la que vive el índice.

PineconeIndexOptions

IndexName y ProjectId direccionan el índice concreto. Ambos aparecen en la consola de Pinecone.

Ingesta

BeginAddData empieza a recopilar, AddData encola un texto y su vector, y EndAddData envía todo el lote como un único upsert en lugar de una petición por fragmento.

Consulta

QueryData lanza una consulta de similitud contra el índice y devuelve el texto guardado detrás de la mejor coincidencia.

Control de identificadores

OnBeginAddData fija el primer identificador y la etiqueta de identificador del lote, de modo que varias ingestas pueden convivir en un mismo índice sin colisionar.

Cuándo usarlo

Es la mejor opción cuando el corpus se hace demasiado grande para un archivo local, cuando varias aplicaciones comparten un mismo índice, o cuando la ingesta y la consulta ocurren en máquinas distintas.

Especificaciones y referencias

Fuentes oficiales de los servicios y protocolos que utiliza este componente.

Sigue explorando

Ayuda en líneaReferencia completa de la API y guía de uso de los componentes sgcAI.
Todos los componentes sgcAIConsulta la matriz completa de características de los 15 componentes.
Descargar prueba gratuitaEnvía tus embeddings a un índice gestionado y consúltalos.
PreciosLicencias Single, Team y Site, código fuente completo, sin producto base necesario.
La mejor opción: All-AccessTodos los productos de eSeGeCe, con Premium Support incluido, desde €1,059 al año.
Ver precios de All-Access

¿Listo para empezar?

Descarga la prueba gratuita y pon tu corpus en un índice vectorial gestionado.