Er der nogen her på listen, der har erfaring med Appercept AWS SDK (den officielle version til Delphi, der kan installeres via GetIt).
Jeg har prøvet ChatGPT, men den roder sig ud en større omvej med kode, der ikke virker, så nu prøver jeg med mennesklig intelligens i stedet for maskinel :-)
Jeg har brug for en implementation (eller dokumentation/pegen-i-den-rigtige-retning) af
FUNCTION Rekognition(CONST Image : TBytes ; CONST AccessKeyID,SecretAccessKey,Region : STRING ; MaxLabels : Cardinal ; MinConfidence : Float) : STRING;
that sets up the call with the specified parameters, calls the Rekognition client and returns the JSON string back to me so I can parse it.
This is what ChatGPT spat out, but most of those UNITs can't be found:
-----------------------------------------------------------------------------------------------------------
uses
System.SysUtils, System.Classes, System.NetEncoding,
AWS.Rekognition.Client, AWS.Rekognition.Model.DetectLabels,
AWS.Rekognition.Model.Image, AWS.Runtime.Credentials,
AWS.Runtime.Client, AWS.Core;
function Rekognition(const Data: TBytes; const AccessKeyID, SecretAccessKey, Region: string): string;
var
ClientConfig: IClientConfig;
Credentials: IAWSCredentials;
Client: IAmazonRekognitionClient;
Request: TDetectLabelsRequest;
ImageObj: TImage;
Response: TDetectLabelsResponse;
ImageStream: TBytesStream;
begin
// Create AWS credentials
Credentials := TBasicAWSCredentials.Create(AccessKeyID, SecretAccessKey);
// Create client config with region
ClientConfig := TClientConfig.Create;
ClientConfig.RegionEndpoint := Region; // e.g. 'us-east-1'
// Create Rekognition client
Client := TAmazonRekognitionClient.Create(Credentials, ClientConfig);
ImageStream := TBytesStream.Create(Data);
try
ImageObj := TImage.Create;
try
ImageObj.Bytes := ImageStream;
Request := TDetectLabelsRequest.Create;
try
Request.Image := ImageObj;
Request.MaxLabels := 50;
Request.MinConfidence := 70;
Response := Client.DetectLabels(Request);
// Return JSON string of the response
Result := Response.ToJsonString;
finally
Request.Free;
end;
finally
ImageObj.Free;
end;
finally
ImageStream.Free;
end;
end;