Start Training
curl --request POST \
--url https://training-service-433968519479.us-central1.run.app/train \
--header 'Content-Type: application/json' \
--data '
{
"processed_dataset_id": "<string>",
"hf_token": "<string>",
"training_config": {
"base_model_id": "<string>",
"provider": "huggingface",
"method": "QLoRA",
"trainer_type": "sft",
"modality": "text",
"hyperparameters": {
"learning_rate": 0.0002,
"batch_size": 2,
"gradient_accumulation_steps": 4,
"epochs": 3,
"max_steps": -1,
"packing": false,
"padding_free": false,
"use_fa2": false,
"max_length": 1024,
"lr_scheduler_type": "linear",
"save_strategy": "epoch",
"logging_steps": 10,
"lora_rank": 16,
"lora_alpha": 16,
"lora_dropout": 0.05,
"max_prompt_length": 512,
"num_generations": 4,
"max_grad_norm": 0.1,
"adam_beta1": 0.9,
"adam_beta2": 0.99,
"warmup_ratio": 0.1,
"beta": 0.1
},
"export_config": {
"format": "adapter",
"destination": "gcs",
"include_gguf": false
},
"eval_config": {
"eval_strategy": "no",
"eval_steps": 50,
"compute_eval_metrics": false,
"batch_eval_metrics": false
},
"wandb_config": {
"api_key": "<string>",
"project": "<string>",
"log_model": "end"
},
"reward_config": [
{
"name": "<string>",
"reference_field": "<string>",
"type": "string_check"
}
]
},
"job_name": "unnamed job"
}
'import requests
url = "https://training-service-433968519479.us-central1.run.app/train"
payload = {
"processed_dataset_id": "<string>",
"hf_token": "<string>",
"training_config": {
"base_model_id": "<string>",
"provider": "huggingface",
"method": "QLoRA",
"trainer_type": "sft",
"modality": "text",
"hyperparameters": {
"learning_rate": 0.0002,
"batch_size": 2,
"gradient_accumulation_steps": 4,
"epochs": 3,
"max_steps": -1,
"packing": False,
"padding_free": False,
"use_fa2": False,
"max_length": 1024,
"lr_scheduler_type": "linear",
"save_strategy": "epoch",
"logging_steps": 10,
"lora_rank": 16,
"lora_alpha": 16,
"lora_dropout": 0.05,
"max_prompt_length": 512,
"num_generations": 4,
"max_grad_norm": 0.1,
"adam_beta1": 0.9,
"adam_beta2": 0.99,
"warmup_ratio": 0.1,
"beta": 0.1
},
"export_config": {
"format": "adapter",
"destination": "gcs",
"include_gguf": False
},
"eval_config": {
"eval_strategy": "no",
"eval_steps": 50,
"compute_eval_metrics": False,
"batch_eval_metrics": False
},
"wandb_config": {
"api_key": "<string>",
"project": "<string>",
"log_model": "end"
},
"reward_config": [
{
"name": "<string>",
"reference_field": "<string>",
"type": "string_check"
}
]
},
"job_name": "unnamed job"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
processed_dataset_id: '<string>',
hf_token: '<string>',
training_config: {
base_model_id: '<string>',
provider: 'huggingface',
method: 'QLoRA',
trainer_type: 'sft',
modality: 'text',
hyperparameters: {
learning_rate: 0.0002,
batch_size: 2,
gradient_accumulation_steps: 4,
epochs: 3,
max_steps: -1,
packing: false,
padding_free: false,
use_fa2: false,
max_length: 1024,
lr_scheduler_type: 'linear',
save_strategy: 'epoch',
logging_steps: 10,
lora_rank: 16,
lora_alpha: 16,
lora_dropout: 0.05,
max_prompt_length: 512,
num_generations: 4,
max_grad_norm: 0.1,
adam_beta1: 0.9,
adam_beta2: 0.99,
warmup_ratio: 0.1,
beta: 0.1
},
export_config: {format: 'adapter', destination: 'gcs', include_gguf: false},
eval_config: {
eval_strategy: 'no',
eval_steps: 50,
compute_eval_metrics: false,
batch_eval_metrics: false
},
wandb_config: {api_key: '<string>', project: '<string>', log_model: 'end'},
reward_config: [{name: '<string>', reference_field: '<string>', type: 'string_check'}]
},
job_name: 'unnamed job'
})
};
fetch('https://training-service-433968519479.us-central1.run.app/train', 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-service-433968519479.us-central1.run.app/train",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'processed_dataset_id' => '<string>',
'hf_token' => '<string>',
'training_config' => [
'base_model_id' => '<string>',
'provider' => 'huggingface',
'method' => 'QLoRA',
'trainer_type' => 'sft',
'modality' => 'text',
'hyperparameters' => [
'learning_rate' => 0.0002,
'batch_size' => 2,
'gradient_accumulation_steps' => 4,
'epochs' => 3,
'max_steps' => -1,
'packing' => false,
'padding_free' => false,
'use_fa2' => false,
'max_length' => 1024,
'lr_scheduler_type' => 'linear',
'save_strategy' => 'epoch',
'logging_steps' => 10,
'lora_rank' => 16,
'lora_alpha' => 16,
'lora_dropout' => 0.05,
'max_prompt_length' => 512,
'num_generations' => 4,
'max_grad_norm' => 0.1,
'adam_beta1' => 0.9,
'adam_beta2' => 0.99,
'warmup_ratio' => 0.1,
'beta' => 0.1
],
'export_config' => [
'format' => 'adapter',
'destination' => 'gcs',
'include_gguf' => false
],
'eval_config' => [
'eval_strategy' => 'no',
'eval_steps' => 50,
'compute_eval_metrics' => false,
'batch_eval_metrics' => false
],
'wandb_config' => [
'api_key' => '<string>',
'project' => '<string>',
'log_model' => 'end'
],
'reward_config' => [
[
'name' => '<string>',
'reference_field' => '<string>',
'type' => 'string_check'
]
]
],
'job_name' => 'unnamed job'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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-service-433968519479.us-central1.run.app/train"
payload := strings.NewReader("{\n \"processed_dataset_id\": \"<string>\",\n \"hf_token\": \"<string>\",\n \"training_config\": {\n \"base_model_id\": \"<string>\",\n \"provider\": \"huggingface\",\n \"method\": \"QLoRA\",\n \"trainer_type\": \"sft\",\n \"modality\": \"text\",\n \"hyperparameters\": {\n \"learning_rate\": 0.0002,\n \"batch_size\": 2,\n \"gradient_accumulation_steps\": 4,\n \"epochs\": 3,\n \"max_steps\": -1,\n \"packing\": false,\n \"padding_free\": false,\n \"use_fa2\": false,\n \"max_length\": 1024,\n \"lr_scheduler_type\": \"linear\",\n \"save_strategy\": \"epoch\",\n \"logging_steps\": 10,\n \"lora_rank\": 16,\n \"lora_alpha\": 16,\n \"lora_dropout\": 0.05,\n \"max_prompt_length\": 512,\n \"num_generations\": 4,\n \"max_grad_norm\": 0.1,\n \"adam_beta1\": 0.9,\n \"adam_beta2\": 0.99,\n \"warmup_ratio\": 0.1,\n \"beta\": 0.1\n },\n \"export_config\": {\n \"format\": \"adapter\",\n \"destination\": \"gcs\",\n \"include_gguf\": false\n },\n \"eval_config\": {\n \"eval_strategy\": \"no\",\n \"eval_steps\": 50,\n \"compute_eval_metrics\": false,\n \"batch_eval_metrics\": false\n },\n \"wandb_config\": {\n \"api_key\": \"<string>\",\n \"project\": \"<string>\",\n \"log_model\": \"end\"\n },\n \"reward_config\": [\n {\n \"name\": \"<string>\",\n \"reference_field\": \"<string>\",\n \"type\": \"string_check\"\n }\n ]\n },\n \"job_name\": \"unnamed job\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
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-service-433968519479.us-central1.run.app/train")
.header("Content-Type", "application/json")
.body("{\n \"processed_dataset_id\": \"<string>\",\n \"hf_token\": \"<string>\",\n \"training_config\": {\n \"base_model_id\": \"<string>\",\n \"provider\": \"huggingface\",\n \"method\": \"QLoRA\",\n \"trainer_type\": \"sft\",\n \"modality\": \"text\",\n \"hyperparameters\": {\n \"learning_rate\": 0.0002,\n \"batch_size\": 2,\n \"gradient_accumulation_steps\": 4,\n \"epochs\": 3,\n \"max_steps\": -1,\n \"packing\": false,\n \"padding_free\": false,\n \"use_fa2\": false,\n \"max_length\": 1024,\n \"lr_scheduler_type\": \"linear\",\n \"save_strategy\": \"epoch\",\n \"logging_steps\": 10,\n \"lora_rank\": 16,\n \"lora_alpha\": 16,\n \"lora_dropout\": 0.05,\n \"max_prompt_length\": 512,\n \"num_generations\": 4,\n \"max_grad_norm\": 0.1,\n \"adam_beta1\": 0.9,\n \"adam_beta2\": 0.99,\n \"warmup_ratio\": 0.1,\n \"beta\": 0.1\n },\n \"export_config\": {\n \"format\": \"adapter\",\n \"destination\": \"gcs\",\n \"include_gguf\": false\n },\n \"eval_config\": {\n \"eval_strategy\": \"no\",\n \"eval_steps\": 50,\n \"compute_eval_metrics\": false,\n \"batch_eval_metrics\": false\n },\n \"wandb_config\": {\n \"api_key\": \"<string>\",\n \"project\": \"<string>\",\n \"log_model\": \"end\"\n },\n \"reward_config\": [\n {\n \"name\": \"<string>\",\n \"reference_field\": \"<string>\",\n \"type\": \"string_check\"\n }\n ]\n },\n \"job_name\": \"unnamed job\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://training-service-433968519479.us-central1.run.app/train")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"processed_dataset_id\": \"<string>\",\n \"hf_token\": \"<string>\",\n \"training_config\": {\n \"base_model_id\": \"<string>\",\n \"provider\": \"huggingface\",\n \"method\": \"QLoRA\",\n \"trainer_type\": \"sft\",\n \"modality\": \"text\",\n \"hyperparameters\": {\n \"learning_rate\": 0.0002,\n \"batch_size\": 2,\n \"gradient_accumulation_steps\": 4,\n \"epochs\": 3,\n \"max_steps\": -1,\n \"packing\": false,\n \"padding_free\": false,\n \"use_fa2\": false,\n \"max_length\": 1024,\n \"lr_scheduler_type\": \"linear\",\n \"save_strategy\": \"epoch\",\n \"logging_steps\": 10,\n \"lora_rank\": 16,\n \"lora_alpha\": 16,\n \"lora_dropout\": 0.05,\n \"max_prompt_length\": 512,\n \"num_generations\": 4,\n \"max_grad_norm\": 0.1,\n \"adam_beta1\": 0.9,\n \"adam_beta2\": 0.99,\n \"warmup_ratio\": 0.1,\n \"beta\": 0.1\n },\n \"export_config\": {\n \"format\": \"adapter\",\n \"destination\": \"gcs\",\n \"include_gguf\": false\n },\n \"eval_config\": {\n \"eval_strategy\": \"no\",\n \"eval_steps\": 50,\n \"compute_eval_metrics\": false,\n \"batch_eval_metrics\": false\n },\n \"wandb_config\": {\n \"api_key\": \"<string>\",\n \"project\": \"<string>\",\n \"log_model\": \"end\"\n },\n \"reward_config\": [\n {\n \"name\": \"<string>\",\n \"reference_field\": \"<string>\",\n \"type\": \"string_check\"\n }\n ]\n },\n \"job_name\": \"unnamed job\"\n}"
response = http.request(request)
puts response.read_body{
"job_id": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Training
Train model
POST
/
train
Start Training
curl --request POST \
--url https://training-service-433968519479.us-central1.run.app/train \
--header 'Content-Type: application/json' \
--data '
{
"processed_dataset_id": "<string>",
"hf_token": "<string>",
"training_config": {
"base_model_id": "<string>",
"provider": "huggingface",
"method": "QLoRA",
"trainer_type": "sft",
"modality": "text",
"hyperparameters": {
"learning_rate": 0.0002,
"batch_size": 2,
"gradient_accumulation_steps": 4,
"epochs": 3,
"max_steps": -1,
"packing": false,
"padding_free": false,
"use_fa2": false,
"max_length": 1024,
"lr_scheduler_type": "linear",
"save_strategy": "epoch",
"logging_steps": 10,
"lora_rank": 16,
"lora_alpha": 16,
"lora_dropout": 0.05,
"max_prompt_length": 512,
"num_generations": 4,
"max_grad_norm": 0.1,
"adam_beta1": 0.9,
"adam_beta2": 0.99,
"warmup_ratio": 0.1,
"beta": 0.1
},
"export_config": {
"format": "adapter",
"destination": "gcs",
"include_gguf": false
},
"eval_config": {
"eval_strategy": "no",
"eval_steps": 50,
"compute_eval_metrics": false,
"batch_eval_metrics": false
},
"wandb_config": {
"api_key": "<string>",
"project": "<string>",
"log_model": "end"
},
"reward_config": [
{
"name": "<string>",
"reference_field": "<string>",
"type": "string_check"
}
]
},
"job_name": "unnamed job"
}
'import requests
url = "https://training-service-433968519479.us-central1.run.app/train"
payload = {
"processed_dataset_id": "<string>",
"hf_token": "<string>",
"training_config": {
"base_model_id": "<string>",
"provider": "huggingface",
"method": "QLoRA",
"trainer_type": "sft",
"modality": "text",
"hyperparameters": {
"learning_rate": 0.0002,
"batch_size": 2,
"gradient_accumulation_steps": 4,
"epochs": 3,
"max_steps": -1,
"packing": False,
"padding_free": False,
"use_fa2": False,
"max_length": 1024,
"lr_scheduler_type": "linear",
"save_strategy": "epoch",
"logging_steps": 10,
"lora_rank": 16,
"lora_alpha": 16,
"lora_dropout": 0.05,
"max_prompt_length": 512,
"num_generations": 4,
"max_grad_norm": 0.1,
"adam_beta1": 0.9,
"adam_beta2": 0.99,
"warmup_ratio": 0.1,
"beta": 0.1
},
"export_config": {
"format": "adapter",
"destination": "gcs",
"include_gguf": False
},
"eval_config": {
"eval_strategy": "no",
"eval_steps": 50,
"compute_eval_metrics": False,
"batch_eval_metrics": False
},
"wandb_config": {
"api_key": "<string>",
"project": "<string>",
"log_model": "end"
},
"reward_config": [
{
"name": "<string>",
"reference_field": "<string>",
"type": "string_check"
}
]
},
"job_name": "unnamed job"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
processed_dataset_id: '<string>',
hf_token: '<string>',
training_config: {
base_model_id: '<string>',
provider: 'huggingface',
method: 'QLoRA',
trainer_type: 'sft',
modality: 'text',
hyperparameters: {
learning_rate: 0.0002,
batch_size: 2,
gradient_accumulation_steps: 4,
epochs: 3,
max_steps: -1,
packing: false,
padding_free: false,
use_fa2: false,
max_length: 1024,
lr_scheduler_type: 'linear',
save_strategy: 'epoch',
logging_steps: 10,
lora_rank: 16,
lora_alpha: 16,
lora_dropout: 0.05,
max_prompt_length: 512,
num_generations: 4,
max_grad_norm: 0.1,
adam_beta1: 0.9,
adam_beta2: 0.99,
warmup_ratio: 0.1,
beta: 0.1
},
export_config: {format: 'adapter', destination: 'gcs', include_gguf: false},
eval_config: {
eval_strategy: 'no',
eval_steps: 50,
compute_eval_metrics: false,
batch_eval_metrics: false
},
wandb_config: {api_key: '<string>', project: '<string>', log_model: 'end'},
reward_config: [{name: '<string>', reference_field: '<string>', type: 'string_check'}]
},
job_name: 'unnamed job'
})
};
fetch('https://training-service-433968519479.us-central1.run.app/train', 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-service-433968519479.us-central1.run.app/train",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'processed_dataset_id' => '<string>',
'hf_token' => '<string>',
'training_config' => [
'base_model_id' => '<string>',
'provider' => 'huggingface',
'method' => 'QLoRA',
'trainer_type' => 'sft',
'modality' => 'text',
'hyperparameters' => [
'learning_rate' => 0.0002,
'batch_size' => 2,
'gradient_accumulation_steps' => 4,
'epochs' => 3,
'max_steps' => -1,
'packing' => false,
'padding_free' => false,
'use_fa2' => false,
'max_length' => 1024,
'lr_scheduler_type' => 'linear',
'save_strategy' => 'epoch',
'logging_steps' => 10,
'lora_rank' => 16,
'lora_alpha' => 16,
'lora_dropout' => 0.05,
'max_prompt_length' => 512,
'num_generations' => 4,
'max_grad_norm' => 0.1,
'adam_beta1' => 0.9,
'adam_beta2' => 0.99,
'warmup_ratio' => 0.1,
'beta' => 0.1
],
'export_config' => [
'format' => 'adapter',
'destination' => 'gcs',
'include_gguf' => false
],
'eval_config' => [
'eval_strategy' => 'no',
'eval_steps' => 50,
'compute_eval_metrics' => false,
'batch_eval_metrics' => false
],
'wandb_config' => [
'api_key' => '<string>',
'project' => '<string>',
'log_model' => 'end'
],
'reward_config' => [
[
'name' => '<string>',
'reference_field' => '<string>',
'type' => 'string_check'
]
]
],
'job_name' => 'unnamed job'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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-service-433968519479.us-central1.run.app/train"
payload := strings.NewReader("{\n \"processed_dataset_id\": \"<string>\",\n \"hf_token\": \"<string>\",\n \"training_config\": {\n \"base_model_id\": \"<string>\",\n \"provider\": \"huggingface\",\n \"method\": \"QLoRA\",\n \"trainer_type\": \"sft\",\n \"modality\": \"text\",\n \"hyperparameters\": {\n \"learning_rate\": 0.0002,\n \"batch_size\": 2,\n \"gradient_accumulation_steps\": 4,\n \"epochs\": 3,\n \"max_steps\": -1,\n \"packing\": false,\n \"padding_free\": false,\n \"use_fa2\": false,\n \"max_length\": 1024,\n \"lr_scheduler_type\": \"linear\",\n \"save_strategy\": \"epoch\",\n \"logging_steps\": 10,\n \"lora_rank\": 16,\n \"lora_alpha\": 16,\n \"lora_dropout\": 0.05,\n \"max_prompt_length\": 512,\n \"num_generations\": 4,\n \"max_grad_norm\": 0.1,\n \"adam_beta1\": 0.9,\n \"adam_beta2\": 0.99,\n \"warmup_ratio\": 0.1,\n \"beta\": 0.1\n },\n \"export_config\": {\n \"format\": \"adapter\",\n \"destination\": \"gcs\",\n \"include_gguf\": false\n },\n \"eval_config\": {\n \"eval_strategy\": \"no\",\n \"eval_steps\": 50,\n \"compute_eval_metrics\": false,\n \"batch_eval_metrics\": false\n },\n \"wandb_config\": {\n \"api_key\": \"<string>\",\n \"project\": \"<string>\",\n \"log_model\": \"end\"\n },\n \"reward_config\": [\n {\n \"name\": \"<string>\",\n \"reference_field\": \"<string>\",\n \"type\": \"string_check\"\n }\n ]\n },\n \"job_name\": \"unnamed job\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
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-service-433968519479.us-central1.run.app/train")
.header("Content-Type", "application/json")
.body("{\n \"processed_dataset_id\": \"<string>\",\n \"hf_token\": \"<string>\",\n \"training_config\": {\n \"base_model_id\": \"<string>\",\n \"provider\": \"huggingface\",\n \"method\": \"QLoRA\",\n \"trainer_type\": \"sft\",\n \"modality\": \"text\",\n \"hyperparameters\": {\n \"learning_rate\": 0.0002,\n \"batch_size\": 2,\n \"gradient_accumulation_steps\": 4,\n \"epochs\": 3,\n \"max_steps\": -1,\n \"packing\": false,\n \"padding_free\": false,\n \"use_fa2\": false,\n \"max_length\": 1024,\n \"lr_scheduler_type\": \"linear\",\n \"save_strategy\": \"epoch\",\n \"logging_steps\": 10,\n \"lora_rank\": 16,\n \"lora_alpha\": 16,\n \"lora_dropout\": 0.05,\n \"max_prompt_length\": 512,\n \"num_generations\": 4,\n \"max_grad_norm\": 0.1,\n \"adam_beta1\": 0.9,\n \"adam_beta2\": 0.99,\n \"warmup_ratio\": 0.1,\n \"beta\": 0.1\n },\n \"export_config\": {\n \"format\": \"adapter\",\n \"destination\": \"gcs\",\n \"include_gguf\": false\n },\n \"eval_config\": {\n \"eval_strategy\": \"no\",\n \"eval_steps\": 50,\n \"compute_eval_metrics\": false,\n \"batch_eval_metrics\": false\n },\n \"wandb_config\": {\n \"api_key\": \"<string>\",\n \"project\": \"<string>\",\n \"log_model\": \"end\"\n },\n \"reward_config\": [\n {\n \"name\": \"<string>\",\n \"reference_field\": \"<string>\",\n \"type\": \"string_check\"\n }\n ]\n },\n \"job_name\": \"unnamed job\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://training-service-433968519479.us-central1.run.app/train")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"processed_dataset_id\": \"<string>\",\n \"hf_token\": \"<string>\",\n \"training_config\": {\n \"base_model_id\": \"<string>\",\n \"provider\": \"huggingface\",\n \"method\": \"QLoRA\",\n \"trainer_type\": \"sft\",\n \"modality\": \"text\",\n \"hyperparameters\": {\n \"learning_rate\": 0.0002,\n \"batch_size\": 2,\n \"gradient_accumulation_steps\": 4,\n \"epochs\": 3,\n \"max_steps\": -1,\n \"packing\": false,\n \"padding_free\": false,\n \"use_fa2\": false,\n \"max_length\": 1024,\n \"lr_scheduler_type\": \"linear\",\n \"save_strategy\": \"epoch\",\n \"logging_steps\": 10,\n \"lora_rank\": 16,\n \"lora_alpha\": 16,\n \"lora_dropout\": 0.05,\n \"max_prompt_length\": 512,\n \"num_generations\": 4,\n \"max_grad_norm\": 0.1,\n \"adam_beta1\": 0.9,\n \"adam_beta2\": 0.99,\n \"warmup_ratio\": 0.1,\n \"beta\": 0.1\n },\n \"export_config\": {\n \"format\": \"adapter\",\n \"destination\": \"gcs\",\n \"include_gguf\": false\n },\n \"eval_config\": {\n \"eval_strategy\": \"no\",\n \"eval_steps\": 50,\n \"compute_eval_metrics\": false,\n \"batch_eval_metrics\": false\n },\n \"wandb_config\": {\n \"api_key\": \"<string>\",\n \"project\": \"<string>\",\n \"log_model\": \"end\"\n },\n \"reward_config\": [\n {\n \"name\": \"<string>\",\n \"reference_field\": \"<string>\",\n \"type\": \"string_check\"\n }\n ]\n },\n \"job_name\": \"unnamed job\"\n}"
response = http.request(request)
puts response.read_body{
"job_id": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Body
application/json
Request schema for training job, only TrainingConfig will be accessible in backend
Response
Successful Response
⌘I