DataFlex
DataFlex
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 DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoHttp
String sFile_id
String sUrl
Variant vSbData
Handle hoSbData
String sTemp1
Move False To iSuccess
// 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
// 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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"
Move "file-1H4vJq0H775gQVrjWY5jpp15" To sFile_id
// Download to local file.
Move "https://api.openai.com/v1/files/{$file_id}/content" To sUrl
Get ComSetUrlVar Of hoHttp "file_id" sFile_id To iSuccess
// 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."
Get ComDownload Of hoHttp sUrl "c:/aaworkarea/mydata.jsonl" To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoHttp To sTemp1
Showln sTemp1
Showln "Failed"
Procedure_Return
End
Showln "Downloaded OpenAI file to a local file."
// Alternatively, download into a StringBuilder
Get Create (RefClass(cComChilkatStringBuilder)) To hoSbData
If (Not(IsComObjectCreated(hoSbData))) Begin
Send CreateComObject of hoSbData
End
Get pvComObject of hoSbData to vSbData
Get ComDownloadSb Of hoHttp sUrl vSbData "utf-8" To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoHttp To sTemp1
Showln sTemp1
Showln "Failed"
Procedure_Return
End
Showln "Downloaded OpenAI file to a StringBuilder"
Showln "file content:"
Get ComGetAsString Of hoSbData To sTemp1
Showln sTemp1
End_Procedure