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
(C++) OpenAI (ChatGTP) List ModelsSee more OpenAI ChatGPT ExamplesShow how to list available OpenAI models and shows how to parse the JSON model information. For more information, see https://platform.openai.com/docs/api-reference/models/list
#include <CkHttp.h> #include <CkStringBuilder.h> #include <CkJsonObject.h> void ChilkatSample(void) { // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. CkHttp http; bool success; // Implements the following CURL command: // curl https://api.openai.com/v1/models \ // -H "Authorization: Bearer $OPENAI_API_KEY" // Use the following online tool to generate HTTP code from a CURL command // Convert a cURL Command to HTTP Source Code // Adds the "Authorization: Bearer $OPENAI_API_KEY" header. // This is NOT a real key. Change the "sk-vi...." to your own key. http.put_AuthToken("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"); CkStringBuilder sbResponseBody; success = http.QuickGetSb("https://api.openai.com/v1/models",sbResponseBody); if (success == false) { std::cout << http.lastErrorText() << "\r\n"; return; } CkJsonObject jResp; jResp.LoadSb(sbResponseBody); jResp.put_EmitCompact(false); std::cout << "Response Body:" << "\r\n"; std::cout << jResp.emit() << "\r\n"; int respStatusCode = http.get_LastStatus(); std::cout << "Response Status Code = " << respStatusCode << "\r\n"; if (respStatusCode >= 400) { std::cout << "Response Header:" << "\r\n"; std::cout << http.lastHeader() << "\r\n"; std::cout << "Failed." << "\r\n"; return; } // Sample JSON response: // (Sample code for parsing the JSON response is shown below) // { // "object": "list", // "data": [ // { // "id": "babbage", // "object": "model", // "created": 1649358449, // "owned_by": "openai", // "permission": [ // { // "id": "modelperm-49FUp5v084tBB49tC4z8LPH5", // "object": "model_permission", // "created": 1669085501, // "allow_create_engine": false, // "allow_sampling": true, // "allow_logprobs": true, // "allow_search_indices": false, // "allow_view": true, // "allow_fine_tuning": false, // "organization": "*", // "group": null, // "is_blocking": false // } // ], // "root": "babbage", // "parent": null // }, // { // "id": "davinci", // "object": "model", // "created": 1649359874, // "owned_by": "openai", // "permission": [ // { // "id": "modelperm-U6ZwlyAd0LyMk4rcMdz33Yc3", // "object": "model_permission", // "created": 1669066355, // "allow_create_engine": false, // "allow_sampling": true, // "allow_logprobs": true, // "allow_search_indices": false, // "allow_view": true, // "allow_fine_tuning": false, // "organization": "*", // "group": null, // "is_blocking": false // } // ], // "root": "davinci", // "parent": null // }, // ... // ... // Sample code for parsing the JSON response... // Use the following online tool to generate parsing code from sample JSON: // Generate Parsing Code from JSON const char *id = 0; int created; const char *owned_by = 0; const char *root = 0; const char *parent = 0; int j; int count_j; bool allow_create_engine; bool allow_sampling; bool allow_logprobs; bool allow_search_indices; bool allow_view; bool allow_fine_tuning; const char *organization = 0; const char *group = 0; bool is_blocking; const char *v_object = jResp.stringOf("object"); int i = 0; int count_i = jResp.SizeOfArray("data"); while (i < count_i) { jResp.put_I(i); id = jResp.stringOf("data[i].id"); v_object = jResp.stringOf("data[i].object"); created = jResp.IntOf("data[i].created"); owned_by = jResp.stringOf("data[i].owned_by"); root = jResp.stringOf("data[i].root"); parent = jResp.stringOf("data[i].parent"); j = 0; count_j = jResp.SizeOfArray("data[i].permission"); while (j < count_j) { jResp.put_J(j); id = jResp.stringOf("data[i].permission[j].id"); v_object = jResp.stringOf("data[i].permission[j].object"); created = jResp.IntOf("data[i].permission[j].created"); allow_create_engine = jResp.BoolOf("data[i].permission[j].allow_create_engine"); allow_sampling = jResp.BoolOf("data[i].permission[j].allow_sampling"); allow_logprobs = jResp.BoolOf("data[i].permission[j].allow_logprobs"); allow_search_indices = jResp.BoolOf("data[i].permission[j].allow_search_indices"); allow_view = jResp.BoolOf("data[i].permission[j].allow_view"); allow_fine_tuning = jResp.BoolOf("data[i].permission[j].allow_fine_tuning"); organization = jResp.stringOf("data[i].permission[j].organization"); group = jResp.stringOf("data[i].permission[j].group"); is_blocking = jResp.BoolOf("data[i].permission[j].is_blocking"); j = j + 1; } i = i + 1; } } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.