![]() |
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
(Delphi ActiveX) 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/automatic_ai_javascript_tool_function_calling.asp
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB; ... procedure TForm1.Button1Click(Sender: TObject); var success: Integer; sbJs: TChilkatStringBuilder; ai: TChilkatAi; evalOnly: Integer; allowAllKeyword: Integer; conversation_name: WideString; sysMessage: WideString; devMessage: WideString; sbResponse: TChilkatStringBuilder; begin success := 0; // ---------------------------------------------------------------------------------- // 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 := TChilkatStringBuilder.Create(Self); success := sbJs.LoadFile('qa_data/js_tools/toolset_3.js','utf-8'); if (success = 0) then begin Memo1.Lines.Add(sbJs.LastErrorText); Exit; end; ai := TChilkatAi.Create(Self); // Register the tools that will be made available to the AI. evalOnly := 0; allowAllKeyword := 1; ai.RegisterJsTools(sbJs.ControlInterface,evalOnly,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. conversation_name := 'convo_4'; sysMessage := 'You are a helpful business assistant'; devMessage := 'Respond only with a information generated by a tool.'; ai.NewConvo(conversation_name,sysMessage,devMessage); // Provide inputs ai.InputAddText('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 := ai.Ask('text'); if (success = 0) then begin Memo1.Lines.Add(ai.LastErrorText); Exit; end; // Get the AI response. sbResponse := TChilkatStringBuilder.Create(Self); ai.GetOutputTextSb(sbResponse.ControlInterface); Memo1.Lines.Add(sbResponse.GetAsString()); end;
|
||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.