Composant base de données vectorielle Pinecone — sgcAI | eSeGeCe

Base de données vectorielle (Pinecone)

TsgcAIDatabaseVectorPinecone place tes embeddings dans un index Pinecone géré. L'indexation regroupe tous les vecteurs dans un seul upsert, et une requête renvoie le texte stocké derrière la correspondance la plus proche, un corpus peut donc être partagé entre machines et utilisateurs.

TsgcAIDatabaseVectorPinecone

Le pendant dans le cloud de la base sur fichier. Même interface, mêmes appels, mais l'index vit chez Pinecone et dépasse ce qui tient en mémoire.

Classe du composant

TsgcAIDatabaseVectorPinecone

Rôle

Index vectoriel géré

Plateformes

Win32 et Win64

sgcAI est autonome. Ce composant est livré dans sgcAI avec le runtime sgcWebSockets Core sur lequel il repose, il n'y a donc aucune licence de base à acheter.

Indexer dans Pinecone, interroger de partout

Renseigne la clé API, l'environnement, l'index et le projet, puis assigne-le à un composant d'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);

Propriétés et méthodes clés

Les membres que tu utilises le plus souvent.

PineconeOptions

ApiKey et Environment t'authentifient auprès de ton compte Pinecone et sélectionnent la région où vit l'index.

PineconeIndexOptions

IndexName et ProjectId désignent l'index précis. Les deux figurent dans la console Pinecone.

Indexation

BeginAddData démarre la collecte, AddData met en file un texte et son vecteur, et EndAddData envoie tout le lot en un seul upsert au lieu d'une requête par fragment.

Requête

QueryData émet une requête de similarité sur l'index et renvoie le texte stocké derrière la meilleure correspondance.

Contrôle des identifiants

OnBeginAddData fixe le premier identifiant et son libellé pour le lot, si bien que plusieurs indexations peuvent coexister dans un même index sans se marcher dessus.

Quand l'utiliser

Idéal quand le corpus dépasse un fichier local, quand plusieurs applications partagent un même index, ou quand l'indexation et l'interrogation se font sur des machines différentes.

Spécifications et références

Les sources faisant autorité pour les services et protocoles utilisés par ce composant.

Pour aller plus loin

Aide en ligneRéférence complète de l'API et guide d'utilisation des composants sgcAI.
Tous les composants sgcAIParcours la matrice complète des fonctionnalités des 15 composants.
Télécharger l'essai gratuitPousse tes embeddings vers un index géré et interroge-les.
TarifsLicences Single, Team et Site, code source complet, aucun produit de base requis.
Meilleur rapport qualité-prix : All-AccessTous les produits eSeGeCe, Support Premium inclus, à partir de €1,059/an.
Voir les tarifs All-Access

Prêt à te lancer ?

Télécharge l'essai gratuit et place ton corpus dans un index vectoriel géré.