PureBasic
PureBasic
AI: Set Ask Params
See more AI Examples
Demonstrates how to set the followingAsk parameters: temperature, effort, and max_output_tokens.
Chilkat PureBasic Downloads
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
CkAi::setCkVerboseLogging(ai, 1)
CkAi::setCkProvider(ai, "google")
CkAi::setCkApiKey(ai, "MY_API_KEY")
CkAi::setCkModel(ai, "gemini-3-flash-preview")
; Note: Not all models support all params.
; Set Ask params.
askParams.i = CkJsonObject::ckCreate()
If askParams.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::ckUpdateNumber(askParams,"temperature","1.2")
CkJsonObject::ckUpdateString(askParams,"effort","low")
CkJsonObject::ckUpdateInt(askParams,"max_output_tokens",1024)
CkJsonObject::setCkEmitCompact(askParams, 0)
Debug CkJsonObject::ckEmit(askParams)
CkAi::ckSetAskParams(ai,askParams)
; Add a text input.
CkAi::ckInputAddText(ai,"Say Hello.")
; Ask the AI for text output.
success = CkAi::ckAsk(ai,"text")
If success = 0
Debug CkAi::ckLastErrorText(ai)
CkAi::ckDispose(ai)
CkJsonObject::ckDispose(askParams)
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)
; Sample output:
; Hello! How can I assist you today?
; -------------------------------------------------------------
; The response is in markdown format.
; Also see Markdown to HTML Conversion Examples.
; -------------------------------------------------------------
CkAi::ckDispose(ai)
CkJsonObject::ckDispose(askParams)
CkStringBuilder::ckDispose(sbResponse)
ProcedureReturn
EndProcedure