![]()  | 
  
Chilkat  HOME  Android™  AutoIt  C  C#  C++  Chilkat2-Python  CkPython  Classic ASP  DataFlex  Delphi DLL  Go  Java  Node.js  Objective-C  PHP Extension  Perl  PowerBuilder  PowerShell  PureBasic  Ruby  SQL Server  Swift  Tcl  Unicode C  Unicode C++  VB.NET  VBScript  Visual Basic 6.0  Visual FoxPro  Xojo Plugin
 
      (Delphi ActiveX) AI: Diagnosing an Ask FailureSee more AI ExamplesDemonstrates how to get information about why a request to the AI provider failed.Note: This example requires Chilkat v11.2.0 or greater. 
 uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB; ... procedure TForm1.Button1Click(Sender: TObject); var success: Integer; ai: TChilkatAi; json: TChilkatJsonObject; sbResponse: TChilkatStringBuilder; begin success := 0; // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. ai := TChilkatAi.Create(Self); // The provider can be "openai", "google", "claude", "deepseek", "xai", or "perplexity". // Support for additional providers will be added in future versions of Chilkat. ai.Provider := 'openai'; // In this case, we're going to cause an intentional failure by using an invalid API key. ai.ApiKey := 'sk-11111111111111111111111111111111111111111111111k'; // Choose a model. ai.Model := 'gpt-4o'; // Add a text input. ai.InputAddText('Say Hello.'); // Ask the AI for text output. success := ai.Ask('text'); if (success = 0) then begin // If the response status code equals 0, it means the error occurred before receiving the HTTP response. // For this case look at the LastErrorText. if (ai.ResponseStatusCode = 0) then begin Memo1.Lines.Add(ai.LastErrorText); end else begin // If we received an error response, the status code will be >= 400. // (Ask would've returned 1 if the response status code was 200.) Memo1.Lines.Add('Response status code: ' + IntToStr(ai.ResponseStatusCode)); // The error response (JSON) is available in the LastJsonData. json := TChilkatJsonObject.Create(Self); json.EmitCompact := 0; ai.GetLastJsonData(json.ControlInterface); Memo1.Lines.Add(json.Emit()); // Sample output: // { // "error": { // "message": "Incorrect API key provided: sk-11111***************************************111k. You can find your API key at https://platform.openai.com/account/api-keys.", // "type": "invalid_request_error", // "param": null, // "code": "invalid_api_key" // } // } end; Exit; end; // Get the text response. sbResponse := TChilkatStringBuilder.Create(Self); ai.GetOutputTextSb(sbResponse.ControlInterface); Memo1.Lines.Add(sbResponse.GetAsString()); end;  | 
  ||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.