![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java JavaScript Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Unicode C) Automatic JavaScript AI Tool Returning a NumberSee more AI ExamplesDemonstrates an automatic JavaScript tool function that returns a number. Automatic JavaScript tool calls are characterized by:
Note: This example requires Chilkat v11.4.0 or greater. For more information, see https://www.chilkatsoft.com/ai_javascript_tool_function_calling.asp
#include <C_CkStringBuilderW.h> #include <C_CkAiW.h> void ChilkatSample(void) { BOOL success; HCkStringBuilderW sbJs; HCkAiW ai; BOOL evalOnly; BOOL allowAllKeyword; const wchar_t *conversation_name; const wchar_t *sysMessage; const wchar_t *devMessage; HCkStringBuilderW sbResponse; success = FALSE; // ---------------------------------------------------------------------------------- // The Javascript file loaded here is shown at the bottom of this page. // ----------------------------------------------------------------------------------- // In this example, we'll load the Javascript tool functions and registry from a file. // It doesn't need to come from a file. It could just as easily be loaded from a string. sbJs = CkStringBuilderW_Create(); success = CkStringBuilderW_LoadFile(sbJs,L"qa_data/js_tools/toolset_3.js",L"utf-8"); if (success == FALSE) { wprintf(L"%s\n",CkStringBuilderW_lastErrorText(sbJs)); CkStringBuilderW_Dispose(sbJs); return; } ai = CkAiW_Create(); // Register the tools that will be made available to the AI. evalOnly = FALSE; allowAllKeyword = TRUE; CkAiW_RegisterJsTools(ai,sbJs,evalOnly,allowAllKeyword); // The provider can be "openai", "google", "claude", "grok", "mistral", "custom", etc. CkAiW_putProvider(ai,L"openai"); // Use your provider's API key. CkAiW_putApiKey(ai,L"MY_API_KEY"); // Choose a model. CkAiW_putModel(ai,L"gpt-5-mini"); // Tool function calling must always occur within a conversation. conversation_name = L"convo_4"; sysMessage = L"You are a helpful business assistant"; devMessage = L"Respond only with a information generated by a tool."; CkAiW_NewConvo(ai,conversation_name,sysMessage,devMessage); // Provide inputs CkAiW_InputAddText(ai,L"What is the total for order A123?"); // Send inputs, tool functions, etc. and ask for a "text" response. // If the AI responds with tool calls, Chilkat automatically handles them by calling your JavaScript // tool functions as directed by the AI, and sending results back to the AI until the final // response is received. success = CkAiW_Ask(ai,L"text"); if (success == FALSE) { wprintf(L"%s\n",CkAiW_lastErrorText(ai)); CkStringBuilderW_Dispose(sbJs); CkAiW_Dispose(ai); return; } // Get the AI response. sbResponse = CkStringBuilderW_Create(); CkAiW_GetOutputTextSb(ai,sbResponse); wprintf(L"%s\n",CkStringBuilderW_getAsString(sbResponse)); CkStringBuilderW_Dispose(sbJs); CkAiW_Dispose(ai); CkStringBuilderW_Dispose(sbResponse); }
|
||||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.