sgcWebSockets 2023.6.0 sürümünden itibaren Pinecone API desteklenmektedir.
Pinecone, vektör verilerini kolay ve güçlü bir şekilde yüklemeye / sorgulamaya / silmeye olanak tanıyan bir vektör veritabanıdır. Pinecone, üçüncü tarafların pinecone'u kendi uygulamalarına entegre etmesine olanak tanıyan genel bir API'ye sahiptir. TsgcHTTP_API_Pinecone bileşeni, Pinecone API üzerinde bir sarmalayıcıdır (wrapper).
Yapılandırma
Başlamadan önce, Pinecone web sitesine kayıt olmalı ve bir API talep etmelisiniz. Bu API anahtarı, API isteklerini göndermek için kullanılır ve TsgcHTTP_API_Pinecone bileşeninin PineconeOptions.ApiKey özelliğinde ayarlanmalıdır.
Metotlar
Aşağıdaki metotlar desteklenir:
- Dizin İşlemleri: dizinleri listeleme, oluşturma, açıklama, silme ve yapılandırmaya olanak tanır.
- Koleksiyon İşlemleri: işlemleri listeleyebilir, oluşturabilir ve açıklayabilirsiniz.
- Vektör İşlemleri: vektörleri sorgulama, silme, güncelleme, upsert ve getirme işlemlerini destekler.
UPSERT Nasıl Yapılır
Id = "id1" olan tek bir vektörün UPSERT edilmesine dair bir örneği aşağıda bulabilirsiniz.
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;
Nasıl Sorgulanır
Tek bir vektörün QUERY (sorgulama) edilmesine dair bir örneği aşağıda bulabilirsiniz.
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
Aşağıdaki demo, Pinecone API'sinin nasıl çalıştığını gösterir; demo Windows için derlenmiştir ve sgcWebSockets Pinecone API istemcisini kullanır.
