Sample code for 30+ languages & platforms
Tcl

Azure AI Foundry Query

See more AI Examples

This is the simplest example of using Chilkat with Azure AI Foundry.

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]

#  For Azure AI Foundry we use "custom".
CkAi_put_Provider $ai "custom"

#  The base URL format for the Chat Completions API when using the cognitiveservices.azure.com domain is:
#  https://{resource-name}.cognitiveservices.azure.com/openai/deployments/{deployment-id}/chat/completions?api-version={api-version}

#  The string "{deployment}" in the base URL is dynamically replaced with the selected AI model each time a request is sent.
#  In this case, the chosen model (below) is "gpt-5.6-terra".  After substitution the base URL becomes: 
#  https://chilkat.cognitiveservices.azure.com/openai/deployments/gpt-5.6-terra/chat/completions?api-version=2025-01-01-preview

#  In this example, our resource name is "chilkat", and the api-version is "2025-01-01-preview"
CkAi_put_BaseUrl $ai "https://chilkat.cognitiveservices.azure.com/openai/deployments/{deployment}/chat/completions?api-version=2025-01-01-preview"
CkAi_put_ApiSpec $ai "ChatCompletions"

#  Use your provider's API key.
CkAi_put_ApiKey $ai "MY_API_KEY"

#  Choose a model.
CkAi_put_Model $ai "gpt-5.6-terra"

#  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
    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_CkStringBuilder $sbResponse