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
(Unicode 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 <CkHttpW.h> #include <CkStringBuilderW.h> #include <CkJsonObjectW.h> void ChilkatSample(void) { // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. CkHttpW 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(L"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"); CkStringBuilderW sbResponseBody; success = http.QuickGetSb(L"https://api.openai.com/v1/models",sbResponseBody); if (success == false) { wprintf(L"%s\n",http.lastErrorText()); return; } CkJsonObjectW jResp; jResp.LoadSb(sbResponseBody); jResp.put_EmitCompact(false); wprintf(L"Response Body:\n"); wprintf(L"%s\n",jResp.emit()); int respStatusCode = http.get_LastStatus(); wprintf(L"Response Status Code = %d\n",respStatusCode); if (respStatusCode >= 400) { wprintf(L"Response Header:\n"); wprintf(L"%s\n",http.lastHeader()); wprintf(L"Failed.\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 wchar_t *id = 0; int created; const wchar_t *owned_by = 0; const wchar_t *root = 0; const wchar_t *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 wchar_t *organization = 0; const wchar_t *group = 0; bool is_blocking; const wchar_t *v_object = jResp.stringOf(L"object"); int i = 0; int count_i = jResp.SizeOfArray(L"data"); while (i < count_i) { jResp.put_I(i); id = jResp.stringOf(L"data[i].id"); v_object = jResp.stringOf(L"data[i].object"); created = jResp.IntOf(L"data[i].created"); owned_by = jResp.stringOf(L"data[i].owned_by"); root = jResp.stringOf(L"data[i].root"); parent = jResp.stringOf(L"data[i].parent"); j = 0; count_j = jResp.SizeOfArray(L"data[i].permission"); while (j < count_j) { jResp.put_J(j); id = jResp.stringOf(L"data[i].permission[j].id"); v_object = jResp.stringOf(L"data[i].permission[j].object"); created = jResp.IntOf(L"data[i].permission[j].created"); allow_create_engine = jResp.BoolOf(L"data[i].permission[j].allow_create_engine"); allow_sampling = jResp.BoolOf(L"data[i].permission[j].allow_sampling"); allow_logprobs = jResp.BoolOf(L"data[i].permission[j].allow_logprobs"); allow_search_indices = jResp.BoolOf(L"data[i].permission[j].allow_search_indices"); allow_view = jResp.BoolOf(L"data[i].permission[j].allow_view"); allow_fine_tuning = jResp.BoolOf(L"data[i].permission[j].allow_fine_tuning"); organization = jResp.stringOf(L"data[i].permission[j].organization"); group = jResp.stringOf(L"data[i].permission[j].group"); is_blocking = jResp.BoolOf(L"data[i].permission[j].is_blocking"); j = j + 1; } i = i + 1; } } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.