Vanaf sgcWebSockets 2023.6.0 wordt de Pinecone-API ondersteund.
Pinecone is een vectordatabase waarmee je vectordata eenvoudig en krachtig kunt uploaden / queriën / verwijderen. Pinecone biedt een publieke API waarmee derden Pinecone kunnen integreren in hun eigen toepassingen. Het component TsgcHTTP_API_Pinecone is een wrapper rond de Pinecone-API.
Configuratie
Voordat je begint, moet je je registreren op de Pinecone-website en een API aanvragen. Deze API-sleutel wordt gebruikt om de API-requests te versturen en moet worden ingesteld op de eigenschap PineconeOptions.ApiKey van het TsgcHTTP_API_Pinecone-component.
Methoden
De volgende methoden worden ondersteund:
- Index-operaties: hiermee kun je indexes weergeven, aanmaken, beschrijven, verwijderen en configureren.
- Collection-operaties: je kunt operaties weergeven, aanmaken en beschrijven.
- Vector-operaties: ondersteunt query, delete, update, upsert en fetch van vectoren.
Hoe te UPSERTen
Hieronder een voorbeeld van een UPSERT van een enkele vector met de Id = "id1".
procedure UpsertPinecone(const aIndexName, aProjectId: string; const aVector: Array of Double);
var
oPinecone: TsgcHTTP_API_Pinecone;
oParams: TsgcHTTPPineconeVectorUpserts;
oVectors: TsgcArrayOfVectorUpsert;
begin
oPinecone := TsgcHTTP_API_Pinecone.Create(nil);
Try
oPinecone.PineconeOptions.API := 'your-api-key';
oParams := TsgcHTTPPineconeVectorUpserts.Create;
Try
SetLength(oVectors, 1);
oVectors[0] := TsgcHTTPPineconeVectorUpsert.Create;
oVectors[0].Id := 'id1';
oVectors[0].Values := aVector;
oParams.Vectors := oVectors;
Pinecone.VectorsUpsert(aIndexName, aProjectId, oParams);
Finally
oParams.Free;
End;
Finally
oPinecone.Free;
End;
end;
Hoe te querien
Hieronder een voorbeeld van een QUERY van een enkele vector.
procedure QueryPinecone(const aIndexName, aProjectId: string; const aVector: Array of Double);
var
oParams: TsgcHTTPPineconeVectorQuery;
begin
oParams := TsgcHTTPPineconeVectorQuery.Create;
Try
oParams.Vector := aVector;
Pinecone.VectorsQuery(aIndexName, aProjectId, oParams);
Finally
oParams.Free;
End;
end;
Demo
De volgende demo laat zien hoe de Pinecone-API werkt. De demo is gecompileerd voor Windows en gebruikt de sgcWebSockets Pinecone-API-client.
