AutoIt
AutoIt
AI: Diagnosing an Ask Failure
See more AI Examples
Demonstrates how to get information about why a request to the AI provider failed.Chilkat AutoIt Downloads
Local $bSuccess = False
; This example assumes the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
$oAi = ObjCreate("Chilkat.Ai")
; The provider can be "openai", "google", "claude", "deepseek", "xai", or "perplexity".
; Support for additional providers will be added in future versions of Chilkat.
$oAi.Provider = "openai"
; In this case, we're going to cause an intentional failure by using an invalid API key.
$oAi.ApiKey = "sk-11111111111111111111111111111111111111111111111k"
; Choose a model.
$oAi.Model = "gpt-4o"
; Add a text input.
$oAi.InputAddText("Say Hello.")
; Ask the AI for text output.
$bSuccess = $oAi.Ask("text")
If ($bSuccess = False) Then
; 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 ($oAi.ResponseStatusCode = 0) Then
ConsoleWrite($oAi.LastErrorText & @CRLF)
Else
; If we received an error response, the status code will be >= 400.
; (Ask would've returned True if the response status code was 200.)
ConsoleWrite("Response status code: " & $oAi.ResponseStatusCode & @CRLF)
; The error response (JSON) is available in the LastJsonData.
$oJson = ObjCreate("Chilkat.JsonObject")
$oJson.EmitCompact = False
$oAi.GetLastJsonData $oJson
ConsoleWrite($oJson.Emit() & @CRLF)
; 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
Exit
EndIf
; Get the text response.
$oSbResponse = ObjCreate("Chilkat.StringBuilder")
$oAi.GetOutputTextSb($oSbResponse)
ConsoleWrite($oSbResponse.GetAsString() & @CRLF)