![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java 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) Azure AI Foundry QueryThis is the simplest example of using Chilkat with Azure AI Foundry. Note: This example requires Chilkat v11.3.0 or greater.
-- 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 -- This example assumes the Chilkat API to have been previously unlocked. -- See Global Unlock Sample for sample code. DECLARE @ai int EXEC @hr = sp_OACreate 'Chilkat.Ai', @ai OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END -- Before running the code, ensure the following prerequisites for App Registration in Microsoft Entra ID for Azure AI Foundry: -- 1. Register an app for Azure AI Foundry. -- 2. Assign an IAM Role to the resource to enable OAuth2 Client-Credentials for calling Azure AI Foundry. -- For Azure AI Foundry we use "custom". EXEC sp_OASetProperty @ai, 'Provider', 'custom' -- The base URL format for the Chat Completions API when using the cognitiveservices.azure.com domain is: -- https://{resource-name}.cognitiveservices.azure.com/openai/deployments/{deployment-id}/chat/completions?api-version={api-version} -- The string "{deployment}" in the base URL is dynamically replaced with the selected AI model each time a request is sent. -- In this case, the chosen model (below) is "gpt-4o". After substitution the base URL becomes: -- https://chilkat.cognitiveservices.azure.com/openai/deployments/gpt-4o/chat/completions?api-version=2025-01-01-preview -- In this example, our resource name is "chilkat", and the api-version is "2025-01-01-preview" EXEC sp_OASetProperty @ai, 'BaseUrl', 'https://chilkat.cognitiveservices.azure.com/openai/deployments/{deployment}/chat/completions?api-version=2025-01-01-preview' EXEC sp_OASetProperty @ai, 'ApiSpec', 'ChatCompletions' -- Use your provider's API key. EXEC sp_OASetProperty @ai, 'ApiKey', 'MY_API_KEY' -- Set Azure Foundry specific params. DECLARE @azureParams int EXEC @hr = sp_OACreate 'Chilkat.JsonObject', @azureParams OUT -- The tenant ID is a GUID such as 17280f2d-f709-4a7b-af1d-9928190e13cf EXEC sp_OAMethod @azureParams, 'UpdateString', @success OUT, 'azure.tenantId', 'TENANT_ID' -- The client ID is a GUID such as 4abd4bf6-5260-4795-90f6-1e91ce4f582c EXEC sp_OAMethod @azureParams, 'UpdateString', @success OUT, 'azure.clientId', 'CLIENT_ID' -- Such as UZc8Q~YBrRIgfe_zbAOwWV.8ikuHa3JJF7LvCdt. (this is not a GUID) EXEC sp_OAMethod @azureParams, 'UpdateString', @success OUT, 'azure.clientSecret', 'CLIENT_SECRET' -- The subscription ID is a GUID such as 4abd4bf6-5260-4795-90f6-1e91ce4f582c EXEC sp_OAMethod @azureParams, 'UpdateString', @success OUT, 'azure.subscription', 'SUBSCRIPTION_ID' -- Such as eastus EXEC sp_OAMethod @azureParams, 'UpdateString', @success OUT, 'azure.location', 'LOCATION' -- With the Azure-specific provider params specified, -- Chilkat will internally fetch the OAuth2 access token using client credentials as needed. EXEC sp_OAMethod @ai, 'SetProviderParams', @success OUT, @azureParams -- Choose a model. EXEC sp_OASetProperty @ai, 'Model', 'gpt-4o' -- Add a text input. EXEC sp_OAMethod @ai, 'InputAddText', @success OUT, 'Say Hello.' -- Ask the AI for text output. 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 @ai EXEC @hr = sp_OADestroy @azureParams RETURN END -- Get the text 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 -- Sample output: -- Hello! How can I assist you today? -- ------------------------------------------------------------- -- The response is in markdown format. -- Also see Markdown to HTML Conversion Examples. -- ------------------------------------------------------------- EXEC @hr = sp_OADestroy @ai EXEC @hr = sp_OADestroy @azureParams EXEC @hr = sp_OADestroy @sbResponse END GO |
||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.