Unicode C
Unicode C
AI: Set Ask Params
See more AI Examples
Demonstrates how to set the followingAsk parameters: temperature, effort, and max_output_tokens.
Chilkat Unicode C Downloads
#include <C_CkAiW.h>
#include <C_CkJsonObjectW.h>
#include <C_CkStringBuilderW.h>
void ChilkatSample(void)
{
BOOL success;
HCkAiW ai;
HCkJsonObjectW askParams;
HCkStringBuilderW sbResponse;
success = FALSE;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
ai = CkAiW_Create();
CkAiW_putVerboseLogging(ai,TRUE);
CkAiW_putProvider(ai,L"google");
CkAiW_putApiKey(ai,L"MY_API_KEY");
CkAiW_putModel(ai,L"gemini-3-flash-preview");
// Note: Not all models support all params.
// Set Ask params.
askParams = CkJsonObjectW_Create();
CkJsonObjectW_UpdateNumber(askParams,L"temperature",L"1.2");
CkJsonObjectW_UpdateString(askParams,L"effort",L"low");
CkJsonObjectW_UpdateInt(askParams,L"max_output_tokens",1024);
CkJsonObjectW_putEmitCompact(askParams,FALSE);
wprintf(L"%s\n",CkJsonObjectW_emit(askParams));
CkAiW_SetAskParams(ai,askParams);
// Add a text input.
CkAiW_InputAddText(ai,L"Say Hello.");
// Ask the AI for text output.
success = CkAiW_Ask(ai,L"text");
if (success == FALSE) {
wprintf(L"%s\n",CkAiW_lastErrorText(ai));
CkAiW_Dispose(ai);
CkJsonObjectW_Dispose(askParams);
return;
}
// Get the text response.
sbResponse = CkStringBuilderW_Create();
CkAiW_GetOutputTextSb(ai,sbResponse);
wprintf(L"%s\n",CkStringBuilderW_getAsString(sbResponse));
// Sample output:
// Hello! How can I assist you today?
// -------------------------------------------------------------
// The response is in markdown format.
// Also see Markdown to HTML Conversion Examples.
// -------------------------------------------------------------
CkAiW_Dispose(ai);
CkJsonObjectW_Dispose(askParams);
CkStringBuilderW_Dispose(sbResponse);
}