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-4o".  After substitution the base URL becomes: 
# https://chilkat.cognitiveservices.azure.com/openai/deployments/gpt-4o/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-4o"

# 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