Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(DataFlex) OpenAI (ChatGTP) Simple RequestSee more OpenAI ChatGPT ExamplesDemonstrate a simple ChatGPT request with authentication using your OPENAI_API_KEY. For more information, see https://platform.openai.com/docs/api-reference/making-requests
Use ChilkatAx-win32.pkg Procedure Test Handle hoHttp Boolean iSuccess Variant vJson Handle hoJson Variant vResp Handle hoResp Variant vSbResponseBody Handle hoSbResponseBody Handle hoJResp Integer iRespStatusCode String sRole String sContent String sFinish_reason Integer iIndex String sId String sV_object Integer iCreated String sModel Integer iPrompt_tokens Integer iCompletion_tokens Integer iTotal_tokens Integer i Integer iCount_i String sTemp1 Boolean bTemp1 // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. Get Create (RefClass(cComChilkatHttp)) To hoHttp If (Not(IsComObjectCreated(hoHttp))) Begin Send CreateComObject of hoHttp End // Implements the following CURL command: // curl https://api.openai.com/v1/chat/completions \ // -H "Content-Type: application/json" \ // -H "Authorization: Bearer $OPENAI_API_KEY" \ // -d '{ // "model": "gpt-3.5-turbo", // "messages": [{"role": "user", "content": "Say this is a test!"}], // "temperature": 0.7 // }' // Use the following online tool to generate HTTP code from a CURL command // Convert a cURL Command to HTTP Source Code // Use this online tool to generate code from sample JSON: // Generate Code to Create JSON // The following JSON is sent in the request body. // { // "model": "gpt-3.5-turbo", // "messages": [ // { // "role": "user", // "content": "Say this is a test!" // } // ], // "temperature": 0.7 // } Get Create (RefClass(cComChilkatJsonObject)) To hoJson If (Not(IsComObjectCreated(hoJson))) Begin Send CreateComObject of hoJson End Get ComUpdateString Of hoJson "model" "gpt-3.5-turbo" To iSuccess Get ComUpdateString Of hoJson "messages[0].role" "user" To iSuccess Get ComUpdateString Of hoJson "messages[0].content" "Say this is a test!" To iSuccess Get ComUpdateNumber Of hoJson "temperature" "0.7" To iSuccess // Adds the "Authorization: Bearer $OPENAI_API_KEY" header. // This is NOT a real key. Change the "sk-vi...." to your own key. Set ComAuthToken Of hoHttp To "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" Send ComSetRequestHeader To hoHttp "Content-Type" "application/json" Get pvComObject of hoJson to vJson Get ComPostJson3 Of hoHttp "https://api.openai.com/v1/chat/completions" "application/json" vJson To vResp If (IsComObject(vResp)) Begin Get Create (RefClass(cComChilkatHttpResponse)) To hoResp Set pvComObject Of hoResp To vResp End Get ComLastMethodSuccess Of hoHttp To bTemp1 If (bTemp1 = False) Begin Get ComLastErrorText Of hoHttp To sTemp1 Showln sTemp1 Procedure_Return End Get Create (RefClass(cComChilkatStringBuilder)) To hoSbResponseBody If (Not(IsComObjectCreated(hoSbResponseBody))) Begin Send CreateComObject of hoSbResponseBody End Get pvComObject of hoSbResponseBody to vSbResponseBody Get ComGetBodySb Of hoResp vSbResponseBody To iSuccess Get Create (RefClass(cComChilkatJsonObject)) To hoJResp If (Not(IsComObjectCreated(hoJResp))) Begin Send CreateComObject of hoJResp End Get pvComObject of hoSbResponseBody to vSbResponseBody Get ComLoadSb Of hoJResp vSbResponseBody To iSuccess Set ComEmitCompact Of hoJResp To False Showln "Response Body:" Get ComEmit Of hoJResp To sTemp1 Showln sTemp1 Get ComStatusCode Of hoResp To iRespStatusCode Showln "Response Status Code = " iRespStatusCode If (iRespStatusCode >= 400) Begin Showln "Response Header:" Get ComHeader Of hoResp To sTemp1 Showln sTemp1 Showln "Failed." Send Destroy of hoResp Procedure_Return End Send Destroy of hoResp // Sample JSON response: // (Sample code for parsing the JSON response is shown below) // { // "id": "chatcmpl-abc123", // "object": "chat.completion", // "created": 1677858242, // "model": "gpt-3.5-turbo-0301", // "usage": { // "prompt_tokens": 13, // "completion_tokens": 7, // "total_tokens": 20 // }, // "choices": [ // { // "message": { // "role": "assistant", // "content": "\n\nThis is a test!" // }, // "finish_reason": "stop", // "index": 0 // } // ] // } // Sample code for parsing the JSON response... // Use the following online tool to generate parsing code from sample JSON: // Generate Parsing Code from JSON Get ComStringOf Of hoJResp "id" To sId Get ComStringOf Of hoJResp "object" To sV_object Get ComIntOf Of hoJResp "created" To iCreated Get ComStringOf Of hoJResp "model" To sModel Get ComIntOf Of hoJResp "usage.prompt_tokens" To iPrompt_tokens Get ComIntOf Of hoJResp "usage.completion_tokens" To iCompletion_tokens Get ComIntOf Of hoJResp "usage.total_tokens" To iTotal_tokens Move 0 To i Get ComSizeOfArray Of hoJResp "choices" To iCount_i While (i < iCount_i) Set ComI Of hoJResp To i Get ComStringOf Of hoJResp "choices[i].message.role" To sRole Get ComStringOf Of hoJResp "choices[i].message.content" To sContent Get ComStringOf Of hoJResp "choices[i].finish_reason" To sFinish_reason Get ComIntOf Of hoJResp "choices[i].index" To iIndex Move (i + 1) To i Loop End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.