I’m trying to upload a fine-tune file in API Open AI with php and cURL.
This is the php script.
<?php
// API KEY per l'autenticazione
$api_key = "......";
// ID dell'organizzazione
//Accesso OpenAI con account Google globalplaninvest@gmail.com
$org_id = "org-......";
//Caricamento del file di addestramento nell'API Open AI
echo "Id training file: ".load_training_file_on_Open_AI_API($api_key, $org_id)."<br>";
function load_training_file_on_Open_AI_API($api_key, $org_id) {
$url = "https://api.openai.com/v1/files";
// Percorso alla cartella del file JSON di addestramento $
jsonFileFolderPath = 'https://planimmobili.com/OpenAI/';
// Nome file di addestramento
$jsonFileName = "PlanBuy_Chat_Model_Dataset.jsonl";
// Percorso del file JSON di addestramento
$jsonFilePath = $jsonFileFolderPath.$jsonFileName;
echo "url jsonFilePath: ".$jsonFilePath."<br>"; //debug
// Carica il contenuto del file JSON
$jsonData = file_get_contents($jsonFilePath); //test file
echo "result from da jsonData: ".$jsonData."<br>>";
//Headers di autenticazione per accesso API
$headers = array ( "Authorization: Bearer {$api_key}", "OpenAI-Organization: {$org_id}" );
// Parametri per la restituzione dell'output
$data = array ( 'purpose' => 'fine-tune', 'file' => $jsonFilePath );
// Inizializzazione sessione cURL
$ch = curl_init($url);
// SESSIONE CURL
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Esecuzione della richiesta HTTP e restituzione del risultato
$result = curl_exec($ch);
// Gestione dell'errore sella sessione cURL
if (curl_errno($ch)) {
echo 'Errore risposta cURL:' . curl_error($ch);
}
//chiusura sessione cURL
curl_close($ch);
// Decodifica della risposta
JSON $response = json_decode($result, true);
// Visualizza l'intero oggetto JSON decodificato
echo "Oggetto json decodificato: "; // debug
var_dump($response); //debug
// Estrazione di una specifica chiave
if (isset($response["id"])) {
echo "ID del file: " . $response["id"];
}
else {
echo "Errore nel caricamento del file.";
}
return addslashes($response["id"]);
}
?>
This is the server return:
url jsonFilePath: @PlanBuy_Chat_Model_Dataset.jsonl
result from da jsonData:
Oggetto json decodificato:
array(1) { [“error”]=> array(4) { [“message”]=> string(123) “Additional properties are not allowed ('{“purpose”:“fine-tune”,“file”:”@PlanBuy_Chat_Model_Dataset.jsonl"}’ was unexpected)" [“type”]=> string(21) “invalid_request_error” [“param”]=> NULL [“code”]=> NULL } }
Errore nel caricamento del file.
Id training file:
Someone can help me?
Thank you so much.