Zig
Zig
OpenAI (ChatGPT) Retrieve File Content
See more OpenAI ChatGPT Examples
Demonstrate how to retrieve the content of a file from OpenAI. Shows how to download to a file, or instead download to a string in memory.Chilkat Zig Downloads
const std = @import("std");
const chilkat = @import("chilkat");
pub fn main(init: std.process.Init) !void {
const alloc = init.arena.allocator();
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
const http = try chilkat.Http.init();
defer http.deinit();
// Adds the "Authorization: Bearer $OPENAI_API_KEY" header.
// This is NOT a real key. Change the "sk-vi...." to your own key.
http.setAuthToken("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");
const file_id = "file-1H4vJq0H775gQVrjWY5jpp15";
// Download to local file.
const url = "https://api.openai.com/v1/files/{$file_id}/content";
http.setUrlVar("file_id", file_id) catch {};
// Note: Free accounts are not able to download files.
// If using a free account, you'll receive an error response: "To help mitigate abuse, downloading of fine-tune training files is disabled for free accounts."
http.download(url, "c:/aaworkarea/mydata.jsonl") catch {
std.debug.print("{s}\n", .{try http.getLastErrorText(alloc)});
std.debug.print("Failed\n", .{});
return;
};
std.debug.print("Downloaded OpenAI file to a local file.\n", .{});
// Alternatively, download into a StringBuilder
const sb_data = try chilkat.StringBuilder.init();
defer sb_data.deinit();
http.downloadSb(url, "utf-8", sb_data) catch {
std.debug.print("{s}\n", .{try http.getLastErrorText(alloc)});
std.debug.print("Failed\n", .{});
return;
};
std.debug.print("Downloaded OpenAI file to a StringBuilder\n", .{});
std.debug.print("file content:\n", .{});
std.debug.print("{s}\n", .{try sb_data.getAsString(alloc)});
}