![]()  | 
  
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
 
      (PureBasic) 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. 
 IncludeFile "CkAi.pb" IncludeFile "CkStringBuilder.pb" IncludeFile "CkJsonObject.pb" Procedure ChilkatExample() success.i = 0 ; This example assumes the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. ai.i = CkAi::ckCreate() If ai.i = 0 Debug "Failed to create object." ProcedureReturn EndIf ; The provider can be "openai", "google", "claude", "deepseek", "xai", or "perplexity". ; Support for additional providers will be added in future versions of Chilkat. CkAi::setCkProvider(ai, "openai") ; In this case, we're going to cause an intentional failure by using an invalid API key. CkAi::setCkApiKey(ai, "sk-11111111111111111111111111111111111111111111111k") ; Choose a model. CkAi::setCkModel(ai, "gpt-4o") ; Add a text input. CkAi::ckInputAddText(ai,"Say Hello.") ; Ask the AI for text output. success = CkAi::ckAsk(ai,"text") If success = 0 ; 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 CkAi::ckResponseStatusCode(ai) = 0 Debug CkAi::ckLastErrorText(ai) Else ; If we received an error response, the status code will be >= 400. ; (Ask would've returned 1 if the response status code was 200.) Debug "Response status code: " + Str(CkAi::ckResponseStatusCode(ai)) ; The error response (JSON) is available in the LastJsonData. json.i = CkJsonObject::ckCreate() If json.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkJsonObject::setCkEmitCompact(json, 0) CkAi::ckGetLastJsonData(ai,json) Debug CkJsonObject::ckEmit(json) ; 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" ; } ; } EndIf CkAi::ckDispose(ai) CkJsonObject::ckDispose(json) ProcedureReturn EndIf ; Get the text response. sbResponse.i = CkStringBuilder::ckCreate() If sbResponse.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkAi::ckGetOutputTextSb(ai,sbResponse) Debug CkStringBuilder::ckGetAsString(sbResponse) CkAi::ckDispose(ai) CkJsonObject::ckDispose(json) CkStringBuilder::ckDispose(sbResponse) ProcedureReturn EndProcedure  | 
  ||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.