Sample code for 30+ languages & platforms
Tcl Requires Chilkat v11.2.0+

AI: Set Ask Params

See more AI Examples

Demonstrates how to set the following Ask parameters: temperature, effort, and max_output_tokens.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

#  This example assumes the Chilkat API to have been previously unlocked.
#  See Global Unlock Sample for sample code.

set ai [new_CkAi]

CkAi_put_VerboseLogging $ai 1

CkAi_put_Provider $ai "google"
CkAi_put_ApiKey $ai "MY_API_KEY"
CkAi_put_Model $ai "gemini-3.6-flash"

#  Note: Not all models support all params.

#  Set Ask params.
set askParams [new_CkJsonObject]

CkJsonObject_UpdateNumber $askParams "temperature" "1.2"
CkJsonObject_UpdateString $askParams "effort" "low"
CkJsonObject_UpdateInt $askParams "max_output_tokens" 1024

CkJsonObject_put_EmitCompact $askParams 0
puts [CkJsonObject_emit $askParams]

CkAi_SetAskParams $ai $askParams

#  Add a text input.
CkAi_InputAddText $ai "Say Hello."

#  Ask the AI for text output.
set success [CkAi_Ask $ai "text"]
if {$success == 0} then {
    puts [CkAi_lastErrorText $ai]
    delete_CkAi $ai
    delete_CkJsonObject $askParams
    exit
}

#  Get the text response.
set sbResponse [new_CkStringBuilder]

CkAi_GetOutputTextSb $ai $sbResponse
puts [CkStringBuilder_getAsString $sbResponse]

#  Sample output:
#  Hello! How can I assist you today?

#  -------------------------------------------------------------
#  The response is in markdown format.
#  Also see Markdown to HTML Conversion Examples.
#  -------------------------------------------------------------

delete_CkAi $ai
delete_CkJsonObject $askParams
delete_CkStringBuilder $sbResponse