curl --request POST \
--url https://training-suite.app.simplismart.ai/api/job/whisper-training/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: multipart/form-data' \
--form org=your_org_uuid \
--form experiment_name=whisper-hindi-run \
--form train_type=finetune \
--form language=Hindi \
--form task=transcribe \
--form num_train_epochs=3 \
--form learning_rate=0.0001 \
--form per_device_train_batch_size=8 \
--form per_device_eval_batch_size=8 \
--form gradient_accumulation_steps=1 \
--form 'model_details={
"base_model": "openai/whisper-tiny",
"secret_id": "<string>"
}' \
--form 'infrastructure_configurations={
"infrastructure_type": "SS",
"GPU_type": "h100"
}' \
--form 'dataset_details={
"dataset_name": "<string>",
"dataset_path": "<string>",
"audio_column_name": "<string>",
"text_column_name": "<string>",
"audio_key_name": "<string>",
"text_key_name": "<string>",
"secret": "<string>",
"region": "<string>"
}' \
--form dataset_file='@example-file' \
--form 'train_split="test.clean"' \
--form 'eval_split="test.other"' \
--form train_split_ratio=0.9 \
--form eval_split_ratio=0.1import requests
url = "https://training-suite.app.simplismart.ai/api/job/whisper-training/"
files = { "dataset_file": ("example-file", open("example-file", "rb")) }
payload = {
"org": "your_org_uuid",
"experiment_name": "whisper-hindi-run",
"train_type": "finetune",
"language": "Hindi",
"task": "transcribe",
"num_train_epochs": "3",
"learning_rate": "0.0001",
"per_device_train_batch_size": "8",
"per_device_eval_batch_size": "8",
"gradient_accumulation_steps": "1",
"model_details": "{
\"base_model\": \"openai/whisper-tiny\",
\"secret_id\": \"<string>\"
}",
"infrastructure_configurations": "{
\"infrastructure_type\": \"SS\",
\"GPU_type\": \"h100\"
}",
"dataset_details": "{
\"dataset_name\": \"<string>\",
\"dataset_path\": \"<string>\",
\"audio_column_name\": \"<string>\",
\"text_column_name\": \"<string>\",
\"audio_key_name\": \"<string>\",
\"text_key_name\": \"<string>\",
\"secret\": \"<string>\",
\"region\": \"<string>\"
}",
"train_split": "\"test.clean\"",
"eval_split": "\"test.other\"",
"train_split_ratio": "0.9",
"eval_split_ratio": "0.1"
}
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, data=payload, files=files, headers=headers)
print(response.text)const form = new FormData();
form.append('org', 'your_org_uuid');
form.append('experiment_name', 'whisper-hindi-run');
form.append('train_type', 'finetune');
form.append('language', 'Hindi');
form.append('task', 'transcribe');
form.append('num_train_epochs', '3');
form.append('learning_rate', '0.0001');
form.append('per_device_train_batch_size', '8');
form.append('per_device_eval_batch_size', '8');
form.append('gradient_accumulation_steps', '1');
form.append('model_details', '{
"base_model": "openai/whisper-tiny",
"secret_id": "<string>"
}');
form.append('infrastructure_configurations', '{
"infrastructure_type": "SS",
"GPU_type": "h100"
}');
form.append('dataset_details', '{
"dataset_name": "<string>",
"dataset_path": "<string>",
"audio_column_name": "<string>",
"text_column_name": "<string>",
"audio_key_name": "<string>",
"text_key_name": "<string>",
"secret": "<string>",
"region": "<string>"
}');
form.append('dataset_file', '<string>');
form.append('train_split', '"test.clean"');
form.append('eval_split', '"test.other"');
form.append('train_split_ratio', '0.9');
form.append('eval_split_ratio', '0.1');
const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
options.body = form;
fetch('https://training-suite.app.simplismart.ai/api/job/whisper-training/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://training-suite.app.simplismart.ai/api/job/whisper-training/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"org\"\r\n\r\nyour_org_uuid\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"experiment_name\"\r\n\r\nwhisper-hindi-run\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"train_type\"\r\n\r\nfinetune\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"language\"\r\n\r\nHindi\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task\"\r\n\r\ntranscribe\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"num_train_epochs\"\r\n\r\n3\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"learning_rate\"\r\n\r\n0.0001\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"per_device_train_batch_size\"\r\n\r\n8\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"per_device_eval_batch_size\"\r\n\r\n8\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"gradient_accumulation_steps\"\r\n\r\n1\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"model_details\"\r\n\r\n{\r\n \"base_model\": \"openai/whisper-tiny\",\r\n \"secret_id\": \"<string>\"\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"infrastructure_configurations\"\r\n\r\n{\r\n \"infrastructure_type\": \"SS\",\r\n \"GPU_type\": \"h100\"\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"dataset_details\"\r\n\r\n{\r\n \"dataset_name\": \"<string>\",\r\n \"dataset_path\": \"<string>\",\r\n \"audio_column_name\": \"<string>\",\r\n \"text_column_name\": \"<string>\",\r\n \"audio_key_name\": \"<string>\",\r\n \"text_key_name\": \"<string>\",\r\n \"secret\": \"<string>\",\r\n \"region\": \"<string>\"\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"dataset_file\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"train_split\"\r\n\r\n\"test.clean\"\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"eval_split\"\r\n\r\n\"test.other\"\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"train_split_ratio\"\r\n\r\n0.9\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"eval_split_ratio\"\r\n\r\n0.1\r\n-----011000010111000001101001--",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: multipart/form-data"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://training-suite.app.simplismart.ai/api/job/whisper-training/"
payload := strings.NewReader("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"org\"\r\n\r\nyour_org_uuid\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"experiment_name\"\r\n\r\nwhisper-hindi-run\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"train_type\"\r\n\r\nfinetune\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"language\"\r\n\r\nHindi\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task\"\r\n\r\ntranscribe\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"num_train_epochs\"\r\n\r\n3\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"learning_rate\"\r\n\r\n0.0001\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"per_device_train_batch_size\"\r\n\r\n8\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"per_device_eval_batch_size\"\r\n\r\n8\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"gradient_accumulation_steps\"\r\n\r\n1\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"model_details\"\r\n\r\n{\r\n \"base_model\": \"openai/whisper-tiny\",\r\n \"secret_id\": \"<string>\"\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"infrastructure_configurations\"\r\n\r\n{\r\n \"infrastructure_type\": \"SS\",\r\n \"GPU_type\": \"h100\"\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"dataset_details\"\r\n\r\n{\r\n \"dataset_name\": \"<string>\",\r\n \"dataset_path\": \"<string>\",\r\n \"audio_column_name\": \"<string>\",\r\n \"text_column_name\": \"<string>\",\r\n \"audio_key_name\": \"<string>\",\r\n \"text_key_name\": \"<string>\",\r\n \"secret\": \"<string>\",\r\n \"region\": \"<string>\"\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"dataset_file\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"train_split\"\r\n\r\n\"test.clean\"\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"eval_split\"\r\n\r\n\"test.other\"\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"train_split_ratio\"\r\n\r\n0.9\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"eval_split_ratio\"\r\n\r\n0.1\r\n-----011000010111000001101001--")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://training-suite.app.simplismart.ai/api/job/whisper-training/")
.header("Authorization", "Bearer <token>")
.body("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"org\"\r\n\r\nyour_org_uuid\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"experiment_name\"\r\n\r\nwhisper-hindi-run\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"train_type\"\r\n\r\nfinetune\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"language\"\r\n\r\nHindi\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task\"\r\n\r\ntranscribe\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"num_train_epochs\"\r\n\r\n3\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"learning_rate\"\r\n\r\n0.0001\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"per_device_train_batch_size\"\r\n\r\n8\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"per_device_eval_batch_size\"\r\n\r\n8\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"gradient_accumulation_steps\"\r\n\r\n1\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"model_details\"\r\n\r\n{\r\n \"base_model\": \"openai/whisper-tiny\",\r\n \"secret_id\": \"<string>\"\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"infrastructure_configurations\"\r\n\r\n{\r\n \"infrastructure_type\": \"SS\",\r\n \"GPU_type\": \"h100\"\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"dataset_details\"\r\n\r\n{\r\n \"dataset_name\": \"<string>\",\r\n \"dataset_path\": \"<string>\",\r\n \"audio_column_name\": \"<string>\",\r\n \"text_column_name\": \"<string>\",\r\n \"audio_key_name\": \"<string>\",\r\n \"text_key_name\": \"<string>\",\r\n \"secret\": \"<string>\",\r\n \"region\": \"<string>\"\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"dataset_file\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"train_split\"\r\n\r\n\"test.clean\"\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"eval_split\"\r\n\r\n\"test.other\"\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"train_split_ratio\"\r\n\r\n0.9\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"eval_split_ratio\"\r\n\r\n0.1\r\n-----011000010111000001101001--")
.asString();require 'uri'
require 'net/http'
url = URI("https://training-suite.app.simplismart.ai/api/job/whisper-training/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request.body = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"org\"\r\n\r\nyour_org_uuid\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"experiment_name\"\r\n\r\nwhisper-hindi-run\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"train_type\"\r\n\r\nfinetune\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"language\"\r\n\r\nHindi\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task\"\r\n\r\ntranscribe\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"num_train_epochs\"\r\n\r\n3\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"learning_rate\"\r\n\r\n0.0001\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"per_device_train_batch_size\"\r\n\r\n8\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"per_device_eval_batch_size\"\r\n\r\n8\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"gradient_accumulation_steps\"\r\n\r\n1\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"model_details\"\r\n\r\n{\r\n \"base_model\": \"openai/whisper-tiny\",\r\n \"secret_id\": \"<string>\"\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"infrastructure_configurations\"\r\n\r\n{\r\n \"infrastructure_type\": \"SS\",\r\n \"GPU_type\": \"h100\"\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"dataset_details\"\r\n\r\n{\r\n \"dataset_name\": \"<string>\",\r\n \"dataset_path\": \"<string>\",\r\n \"audio_column_name\": \"<string>\",\r\n \"text_column_name\": \"<string>\",\r\n \"audio_key_name\": \"<string>\",\r\n \"text_key_name\": \"<string>\",\r\n \"secret\": \"<string>\",\r\n \"region\": \"<string>\"\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"dataset_file\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"train_split\"\r\n\r\n\"test.clean\"\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"eval_split\"\r\n\r\n\"test.other\"\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"train_split_ratio\"\r\n\r\n0.9\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"eval_split_ratio\"\r\n\r\n0.1\r\n-----011000010111000001101001--"
response = http.request(request)
puts response.read_body{
"experiment_name": "<string>",
"request_id": "<string>",
"language": "<string>",
"status": "queued",
"created_at": "2023-11-07T05:31:56Z"
}Start a new Whisper training job
Submit a new Whisper fine-tuning job with dataset, model, training, and infrastructure configuration.
curl --request POST \
--url https://training-suite.app.simplismart.ai/api/job/whisper-training/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: multipart/form-data' \
--form org=your_org_uuid \
--form experiment_name=whisper-hindi-run \
--form train_type=finetune \
--form language=Hindi \
--form task=transcribe \
--form num_train_epochs=3 \
--form learning_rate=0.0001 \
--form per_device_train_batch_size=8 \
--form per_device_eval_batch_size=8 \
--form gradient_accumulation_steps=1 \
--form 'model_details={
"base_model": "openai/whisper-tiny",
"secret_id": "<string>"
}' \
--form 'infrastructure_configurations={
"infrastructure_type": "SS",
"GPU_type": "h100"
}' \
--form 'dataset_details={
"dataset_name": "<string>",
"dataset_path": "<string>",
"audio_column_name": "<string>",
"text_column_name": "<string>",
"audio_key_name": "<string>",
"text_key_name": "<string>",
"secret": "<string>",
"region": "<string>"
}' \
--form dataset_file='@example-file' \
--form 'train_split="test.clean"' \
--form 'eval_split="test.other"' \
--form train_split_ratio=0.9 \
--form eval_split_ratio=0.1import requests
url = "https://training-suite.app.simplismart.ai/api/job/whisper-training/"
files = { "dataset_file": ("example-file", open("example-file", "rb")) }
payload = {
"org": "your_org_uuid",
"experiment_name": "whisper-hindi-run",
"train_type": "finetune",
"language": "Hindi",
"task": "transcribe",
"num_train_epochs": "3",
"learning_rate": "0.0001",
"per_device_train_batch_size": "8",
"per_device_eval_batch_size": "8",
"gradient_accumulation_steps": "1",
"model_details": "{
\"base_model\": \"openai/whisper-tiny\",
\"secret_id\": \"<string>\"
}",
"infrastructure_configurations": "{
\"infrastructure_type\": \"SS\",
\"GPU_type\": \"h100\"
}",
"dataset_details": "{
\"dataset_name\": \"<string>\",
\"dataset_path\": \"<string>\",
\"audio_column_name\": \"<string>\",
\"text_column_name\": \"<string>\",
\"audio_key_name\": \"<string>\",
\"text_key_name\": \"<string>\",
\"secret\": \"<string>\",
\"region\": \"<string>\"
}",
"train_split": "\"test.clean\"",
"eval_split": "\"test.other\"",
"train_split_ratio": "0.9",
"eval_split_ratio": "0.1"
}
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, data=payload, files=files, headers=headers)
print(response.text)const form = new FormData();
form.append('org', 'your_org_uuid');
form.append('experiment_name', 'whisper-hindi-run');
form.append('train_type', 'finetune');
form.append('language', 'Hindi');
form.append('task', 'transcribe');
form.append('num_train_epochs', '3');
form.append('learning_rate', '0.0001');
form.append('per_device_train_batch_size', '8');
form.append('per_device_eval_batch_size', '8');
form.append('gradient_accumulation_steps', '1');
form.append('model_details', '{
"base_model": "openai/whisper-tiny",
"secret_id": "<string>"
}');
form.append('infrastructure_configurations', '{
"infrastructure_type": "SS",
"GPU_type": "h100"
}');
form.append('dataset_details', '{
"dataset_name": "<string>",
"dataset_path": "<string>",
"audio_column_name": "<string>",
"text_column_name": "<string>",
"audio_key_name": "<string>",
"text_key_name": "<string>",
"secret": "<string>",
"region": "<string>"
}');
form.append('dataset_file', '<string>');
form.append('train_split', '"test.clean"');
form.append('eval_split', '"test.other"');
form.append('train_split_ratio', '0.9');
form.append('eval_split_ratio', '0.1');
const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
options.body = form;
fetch('https://training-suite.app.simplismart.ai/api/job/whisper-training/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://training-suite.app.simplismart.ai/api/job/whisper-training/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"org\"\r\n\r\nyour_org_uuid\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"experiment_name\"\r\n\r\nwhisper-hindi-run\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"train_type\"\r\n\r\nfinetune\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"language\"\r\n\r\nHindi\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task\"\r\n\r\ntranscribe\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"num_train_epochs\"\r\n\r\n3\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"learning_rate\"\r\n\r\n0.0001\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"per_device_train_batch_size\"\r\n\r\n8\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"per_device_eval_batch_size\"\r\n\r\n8\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"gradient_accumulation_steps\"\r\n\r\n1\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"model_details\"\r\n\r\n{\r\n \"base_model\": \"openai/whisper-tiny\",\r\n \"secret_id\": \"<string>\"\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"infrastructure_configurations\"\r\n\r\n{\r\n \"infrastructure_type\": \"SS\",\r\n \"GPU_type\": \"h100\"\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"dataset_details\"\r\n\r\n{\r\n \"dataset_name\": \"<string>\",\r\n \"dataset_path\": \"<string>\",\r\n \"audio_column_name\": \"<string>\",\r\n \"text_column_name\": \"<string>\",\r\n \"audio_key_name\": \"<string>\",\r\n \"text_key_name\": \"<string>\",\r\n \"secret\": \"<string>\",\r\n \"region\": \"<string>\"\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"dataset_file\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"train_split\"\r\n\r\n\"test.clean\"\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"eval_split\"\r\n\r\n\"test.other\"\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"train_split_ratio\"\r\n\r\n0.9\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"eval_split_ratio\"\r\n\r\n0.1\r\n-----011000010111000001101001--",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: multipart/form-data"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://training-suite.app.simplismart.ai/api/job/whisper-training/"
payload := strings.NewReader("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"org\"\r\n\r\nyour_org_uuid\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"experiment_name\"\r\n\r\nwhisper-hindi-run\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"train_type\"\r\n\r\nfinetune\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"language\"\r\n\r\nHindi\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task\"\r\n\r\ntranscribe\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"num_train_epochs\"\r\n\r\n3\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"learning_rate\"\r\n\r\n0.0001\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"per_device_train_batch_size\"\r\n\r\n8\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"per_device_eval_batch_size\"\r\n\r\n8\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"gradient_accumulation_steps\"\r\n\r\n1\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"model_details\"\r\n\r\n{\r\n \"base_model\": \"openai/whisper-tiny\",\r\n \"secret_id\": \"<string>\"\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"infrastructure_configurations\"\r\n\r\n{\r\n \"infrastructure_type\": \"SS\",\r\n \"GPU_type\": \"h100\"\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"dataset_details\"\r\n\r\n{\r\n \"dataset_name\": \"<string>\",\r\n \"dataset_path\": \"<string>\",\r\n \"audio_column_name\": \"<string>\",\r\n \"text_column_name\": \"<string>\",\r\n \"audio_key_name\": \"<string>\",\r\n \"text_key_name\": \"<string>\",\r\n \"secret\": \"<string>\",\r\n \"region\": \"<string>\"\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"dataset_file\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"train_split\"\r\n\r\n\"test.clean\"\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"eval_split\"\r\n\r\n\"test.other\"\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"train_split_ratio\"\r\n\r\n0.9\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"eval_split_ratio\"\r\n\r\n0.1\r\n-----011000010111000001101001--")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://training-suite.app.simplismart.ai/api/job/whisper-training/")
.header("Authorization", "Bearer <token>")
.body("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"org\"\r\n\r\nyour_org_uuid\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"experiment_name\"\r\n\r\nwhisper-hindi-run\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"train_type\"\r\n\r\nfinetune\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"language\"\r\n\r\nHindi\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task\"\r\n\r\ntranscribe\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"num_train_epochs\"\r\n\r\n3\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"learning_rate\"\r\n\r\n0.0001\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"per_device_train_batch_size\"\r\n\r\n8\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"per_device_eval_batch_size\"\r\n\r\n8\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"gradient_accumulation_steps\"\r\n\r\n1\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"model_details\"\r\n\r\n{\r\n \"base_model\": \"openai/whisper-tiny\",\r\n \"secret_id\": \"<string>\"\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"infrastructure_configurations\"\r\n\r\n{\r\n \"infrastructure_type\": \"SS\",\r\n \"GPU_type\": \"h100\"\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"dataset_details\"\r\n\r\n{\r\n \"dataset_name\": \"<string>\",\r\n \"dataset_path\": \"<string>\",\r\n \"audio_column_name\": \"<string>\",\r\n \"text_column_name\": \"<string>\",\r\n \"audio_key_name\": \"<string>\",\r\n \"text_key_name\": \"<string>\",\r\n \"secret\": \"<string>\",\r\n \"region\": \"<string>\"\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"dataset_file\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"train_split\"\r\n\r\n\"test.clean\"\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"eval_split\"\r\n\r\n\"test.other\"\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"train_split_ratio\"\r\n\r\n0.9\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"eval_split_ratio\"\r\n\r\n0.1\r\n-----011000010111000001101001--")
.asString();require 'uri'
require 'net/http'
url = URI("https://training-suite.app.simplismart.ai/api/job/whisper-training/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request.body = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"org\"\r\n\r\nyour_org_uuid\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"experiment_name\"\r\n\r\nwhisper-hindi-run\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"train_type\"\r\n\r\nfinetune\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"language\"\r\n\r\nHindi\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task\"\r\n\r\ntranscribe\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"num_train_epochs\"\r\n\r\n3\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"learning_rate\"\r\n\r\n0.0001\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"per_device_train_batch_size\"\r\n\r\n8\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"per_device_eval_batch_size\"\r\n\r\n8\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"gradient_accumulation_steps\"\r\n\r\n1\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"model_details\"\r\n\r\n{\r\n \"base_model\": \"openai/whisper-tiny\",\r\n \"secret_id\": \"<string>\"\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"infrastructure_configurations\"\r\n\r\n{\r\n \"infrastructure_type\": \"SS\",\r\n \"GPU_type\": \"h100\"\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"dataset_details\"\r\n\r\n{\r\n \"dataset_name\": \"<string>\",\r\n \"dataset_path\": \"<string>\",\r\n \"audio_column_name\": \"<string>\",\r\n \"text_column_name\": \"<string>\",\r\n \"audio_key_name\": \"<string>\",\r\n \"text_key_name\": \"<string>\",\r\n \"secret\": \"<string>\",\r\n \"region\": \"<string>\"\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"dataset_file\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"train_split\"\r\n\r\n\"test.clean\"\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"eval_split\"\r\n\r\n\"test.other\"\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"train_split_ratio\"\r\n\r\n0.9\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"eval_split_ratio\"\r\n\r\n0.1\r\n-----011000010111000001101001--"
response = http.request(request)
puts response.read_body{
"experiment_name": "<string>",
"request_id": "<string>",
"language": "<string>",
"status": "queued",
"created_at": "2023-11-07T05:31:56Z"
}Authorizations
JWT token for authentication
Headers
Bearer token for authentication and authorization.
Body
Organization UUID the job belongs to.
"your_org_uuid"
Name for this training run. A short random suffix is appended automatically, and it must be unique (after suffixing) within the org.
"whisper-hindi-run"
Training methodology.
"finetune"
Spoken language of the audio.
English, Hindi, Bengali, Marathi, Telugu, Tamil, Gujarati, Urdu, Kannada, Malayalam, Punjabi, Sanskrit, Assamese "Hindi"
transcribe, translate "transcribe"
Number of training epochs.
3
Learning rate.
0.0001
Training batch size per device.
8
Evaluation batch size per device.
8
Gradient accumulation steps.
1
Model configuration. Sent as a JSON-encoded string within the multipart body.
Show child attributes
Show child attributes
Infrastructure configuration for the training job. Sent as a JSON-encoded string within the multipart body.
Show child attributes
Show child attributes
Describes the dataset to create for this job. Sent as a JSON-encoded string within the multipart body.
Show child attributes
Show child attributes
The dataset file itself. Required when dataset_details.datasource is "File Upload", and must be omitted for any other datasource.
Hugging Face split expression for the training set. Only meaningful when the dataset source is Hugging Face. Never send together with split_type/train_split_ratio/eval_split_ratio.
"\"test.clean\""
Hugging Face split expression for the eval set. Same rule as train_split.
"\"test.other\""
Required when the dataset source is AWS S3 or File Upload. Must not be sent for Hugging Face datasets.
random, stratified Fraction of data used for training. Required together with split_type/eval_split_ratio for AWS S3/File Upload datasets. train_split_ratio + eval_split_ratio must equal 1.
0.9
Fraction of data used for evaluation. Same rule as train_split_ratio. 0 is a valid value — send it explicitly, don't omit the field.
0.1
Response
Whisper training job created successfully.
Was this page helpful?