Sample code for 30+ languages & platforms
Lua Requires Chilkat v11.3.0+

Azure AI Foundry Query

See more AI Examples

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

Chilkat Lua Downloads

Lua
local chilkat = require("chilkat")

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

local ai = chilkat.Ai.new()

-- For Azure AI Foundry we use "custom".
ai.provider = "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"
ai.base_url = "https://chilkat.cognitiveservices.azure.com/openai/deployments/{deployment}/chat/completions?api-version=2025-01-01-preview"
ai.api_spec = "ChatCompletions"

-- Use your provider's API key.
ai.api_key = "MY_API_KEY"

-- Choose a model.
ai.model = "gpt-5.6-terra"

-- Add a text input.
ai:input_add_text("Say Hello.")

-- Ask the AI for text output.
local success = ai:ask("text")
if not success then
    print(ai.last_error_text)
    return
end

-- Get the text response.
local sbResponse = chilkat.StringBuilder.new()
ai:get_output_text_sb(sbResponse)
print(sbResponse:get_as_string())

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

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