![]() |
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
(SQL Server) 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
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls. -- CREATE PROCEDURE ChilkatSample AS BEGIN DECLARE @hr int -- Important: Do not use nvarchar(max). See the warning about using nvarchar(max). DECLARE @sTmp0 nvarchar(4000) DECLARE @success int SELECT @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. DECLARE @sbJs int EXEC @hr = sp_OACreate 'Chilkat.StringBuilder', @sbJs OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END EXEC sp_OAMethod @sbJs, 'LoadFile', @success OUT, 'qa_data/js_tools/toolset_3.js', 'utf-8' IF @success = 0 BEGIN EXEC sp_OAGetProperty @sbJs, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @sbJs RETURN END DECLARE @ai int EXEC @hr = sp_OACreate 'Chilkat.Ai', @ai OUT -- Register the tools that will be made available to the AI. DECLARE @evalOnly int SELECT @evalOnly = 0 DECLARE @allowAllKeyword int SELECT @allowAllKeyword = 1 EXEC sp_OAMethod @ai, 'RegisterJsTools', @success OUT, @sbJs, @evalOnly, @allowAllKeyword -- The provider can be "openai", "google", "claude", "grok", "mistral", "custom", etc. EXEC sp_OASetProperty @ai, 'Provider', 'openai' -- Use your provider's API key. EXEC sp_OASetProperty @ai, 'ApiKey', 'MY_API_KEY' -- Choose a model. EXEC sp_OASetProperty @ai, 'Model', 'gpt-5-mini' -- Tool function calling must always occur within a conversation. DECLARE @conversation_name nvarchar(4000) SELECT @conversation_name = 'convo_4' DECLARE @sysMessage nvarchar(4000) SELECT @sysMessage = 'You are a helpful business assistant' DECLARE @devMessage nvarchar(4000) SELECT @devMessage = 'Respond only with a information generated by a tool.' EXEC sp_OAMethod @ai, 'NewConvo', @success OUT, @conversation_name, @sysMessage, @devMessage -- Provide inputs EXEC sp_OAMethod @ai, 'InputAddText', @success OUT, '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. EXEC sp_OAMethod @ai, 'Ask', @success OUT, 'text' IF @success = 0 BEGIN EXEC sp_OAGetProperty @ai, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @sbJs EXEC @hr = sp_OADestroy @ai RETURN END -- Get the AI response. DECLARE @sbResponse int EXEC @hr = sp_OACreate 'Chilkat.StringBuilder', @sbResponse OUT EXEC sp_OAMethod @ai, 'GetOutputTextSb', @success OUT, @sbResponse EXEC sp_OAMethod @sbResponse, 'GetAsString', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @sbJs EXEC @hr = sp_OADestroy @ai EXEC @hr = sp_OADestroy @sbResponse END GO
|
||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.