Delphi DLL
Delphi DLL
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 Delphi DLL Downloads
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, StringBuilder, Http;
...
procedure TForm1.Button1Click(Sender: TObject);
var
success: Boolean;
http: HCkHttp;
file_id: PWideChar;
url: PWideChar;
sbData: HCkStringBuilder;
begin
success := False;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
http := CkHttp_Create();
// Adds the "Authorization: Bearer $OPENAI_API_KEY" header.
// This is NOT a real key. Change the "sk-vi...." to your own key.
CkHttp_putAuthToken(http,'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');
file_id := 'file-1H4vJq0H775gQVrjWY5jpp15';
// Download to local file.
url := 'https://api.openai.com/v1/files/{$file_id}/content';
CkHttp_SetUrlVar(http,'file_id',file_id);
// 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."
success := CkHttp_Download(http,url,'c:/aaworkarea/mydata.jsonl');
if (success = False) then
begin
Memo1.Lines.Add(CkHttp__lastErrorText(http));
Memo1.Lines.Add('Failed');
Exit;
end;
Memo1.Lines.Add('Downloaded OpenAI file to a local file.');
// Alternatively, download into a StringBuilder
sbData := CkStringBuilder_Create();
success := CkHttp_DownloadSb(http,url,sbData,'utf-8');
if (success = False) then
begin
Memo1.Lines.Add(CkHttp__lastErrorText(http));
Memo1.Lines.Add('Failed');
Exit;
end;
Memo1.Lines.Add('Downloaded OpenAI file to a StringBuilder');
Memo1.Lines.Add('file content:');
Memo1.Lines.Add(CkStringBuilder__getAsString(sbData));
CkHttp_Dispose(http);
CkStringBuilder_Dispose(sbData);
end;