C
C
Azure AI Foundry Query
See more AI Examples
This is the simplest example of using Chilkat with Azure AI Foundry.Chilkat C Downloads
#include <C_CkAi.h>
#include <C_CkStringBuilder.h>
void ChilkatSample(void)
{
BOOL success;
HCkAi ai;
HCkStringBuilder sbResponse;
success = FALSE;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
ai = CkAi_Create();
// For Azure AI Foundry we use "custom".
CkAi_putProvider(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_putBaseUrl(ai,"https://chilkat.cognitiveservices.azure.com/openai/deployments/{deployment}/chat/completions?api-version=2025-01-01-preview");
CkAi_putApiSpec(ai,"ChatCompletions");
// Use your provider's API key.
CkAi_putApiKey(ai,"MY_API_KEY");
// Choose a model.
CkAi_putModel(ai,"gpt-4o");
// Add a text input.
CkAi_InputAddText(ai,"Say Hello.");
// Ask the AI for text output.
success = CkAi_Ask(ai,"text");
if (success == FALSE) {
printf("%s\n",CkAi_lastErrorText(ai));
CkAi_Dispose(ai);
return;
}
// Get the text response.
sbResponse = CkStringBuilder_Create();
CkAi_GetOutputTextSb(ai,sbResponse);
printf("%s\n",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.
// -------------------------------------------------------------
CkAi_Dispose(ai);
CkStringBuilder_Dispose(sbResponse);
}