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;