![]() |
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
(Objective-C) Automatic JavaScript AI Tool Returning an ObjectSee more AI ExamplesDemonstrates an automatic JavaScript tool function that returns an object. 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
#import <CkoStringBuilder.h> #import <CkoAi.h> #import <NSString.h> BOOL success = NO; // ---------------------------------------------------------------------------------- // 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. CkoStringBuilder *sbJs = [[CkoStringBuilder alloc] init]; success = [sbJs LoadFile: @"qa_data/js_tools/toolset_2.js" charset: @"utf-8"]; if (success == NO) { NSLog(@"%@",sbJs.LastErrorText); return; } CkoAi *ai = [[CkoAi alloc] init]; // Register the tools that will be made available to the AI. BOOL evalOnly = NO; BOOL allowAllKeyword = YES; [ai RegisterJsTools: sbJs evalOnly: evalOnly allowAllKeyword: allowAllKeyword]; // The provider can be "openai", "google", "claude", "grok", "mistral", "custom", etc. ai.Provider = @"openai"; // Use your provider's API key. ai.ApiKey = @"MY_API_KEY"; // Choose a model. ai.Model = @"gpt-5-mini"; // Tool function calling must always occur within a conversation. NSString *conversation_name = @"convo_weather"; NSString *sysMessage = @"You are a helpful weather forecaster"; NSString *devMessage = @"Respond only with a weather forecast generated by a tool."; [ai NewConvo: conversation_name sysMsg: sysMessage devMsg: devMessage]; // Provide inputs [ai InputAddText: @"What's the weather in Chicago?"]; // 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 = [ai Ask: @"text"]; if (success == NO) { NSLog(@"%@",ai.LastErrorText); return; } // Get the AI response. CkoStringBuilder *sbResponse = [[CkoStringBuilder alloc] init]; [ai GetOutputTextSb: sbResponse]; NSLog(@"%@",[sbResponse GetAsString]);
|
||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.