PureBasic
PureBasic
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 PureBasic Downloads
IncludeFile "CkStringBuilder.pb"
IncludeFile "CkHttp.pb"
Procedure ChilkatExample()
success.i = 0
; This example assumes the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
http.i = CkHttp::ckCreate()
If http.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; Adds the "Authorization: Bearer $OPENAI_API_KEY" header.
; This is NOT a real key. Change the "sk-vi...." to your own key.
CkHttp::setCkAuthToken(http, "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")
file_id.s = "file-1H4vJq0H775gQVrjWY5jpp15"
; Download to local file.
url.s = "https://api.openai.com/v1/files/{$file_id}/content"
CkHttp::ckSetUrlVar(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::ckDownload(http,url,"c:/aaworkarea/mydata.jsonl")
If success = 0
Debug CkHttp::ckLastErrorText(http)
Debug "Failed"
CkHttp::ckDispose(http)
ProcedureReturn
EndIf
Debug "Downloaded OpenAI file to a local file."
; Alternatively, download into a StringBuilder
sbData.i = CkStringBuilder::ckCreate()
If sbData.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkHttp::ckDownloadSb(http,url,sbData,"utf-8")
If success = 0
Debug CkHttp::ckLastErrorText(http)
Debug "Failed"
CkHttp::ckDispose(http)
CkStringBuilder::ckDispose(sbData)
ProcedureReturn
EndIf
Debug "Downloaded OpenAI file to a StringBuilder"
Debug "file content:"
Debug CkStringBuilder::ckGetAsString(sbData)
CkHttp::ckDispose(http)
CkStringBuilder::ckDispose(sbData)
ProcedureReturn
EndProcedure