Skip to content

clients.openai.finetune #

OpenAI Fine-tuning Client

import incubaid.herolib.clients.openai

mut client:= openai.get()! //will be the default client, key is in `AIKEY` on environment variable or `OPENROUTER_API_KEY`

// Assuming you have a training file ID from the Files API
training_file_id := 'file-xxxxxxxxxxxxxxxxxxxxxxxxx'

resp := client.finetune.create_fine_tune(
    training_file: training_file_id,
    model: 'gpt-3.5-turbo'
)

if resp.id.len > 0 {
    println('Fine-tuning job created with ID: ${resp.id}')
} else {
    eprintln('Failed to create fine-tuning job.')
}

fn (OpenAIAlias) create_fine_tune #

fn (mut f OpenAIAlias) create_fine_tune(args FineTuneCreateArgs) !FineTune

creates a new fine-tune based on an already uploaded file

fn (OpenAIAlias) list_fine_tunes #

fn (mut f OpenAIAlias) list_fine_tunes() !FineTuneList

returns all fine-tunes in this account

fn (OpenAIAlias) get_fine_tune #

fn (mut f OpenAIAlias) get_fine_tune(fine_tune string) !FineTune

get a single fine-tune information

fn (OpenAIAlias) cancel_fine_tune #

fn (mut f OpenAIAlias) cancel_fine_tune(fine_tune string) !FineTune

cancel a fine-tune that didn't finish yet

fn (OpenAIAlias) list_fine_tune_events #

fn (mut f OpenAIAlias) list_fine_tune_events(fine_tune string) !FineTuneEventList

returns all events for a fine tune in this account

struct FineTune #

struct FineTune {
pub:
	id               string
	object           string
	model            string
	created_at       int
	events           []FineTuneEvent
	fine_tuned_model string
	hyperparams      FineTuneHyperParams
	organization_id  string
	result_files     []File
	status           string
	validation_files []File
	training_files   []File
	updated_at       int
}

struct FineTuneCreateArgs #

@[params]
struct FineTuneCreateArgs {
pub mut:
	training_file                  string @[required]
	model                          string
	n_epochs                       int = 4
	batch_size                     int
	learning_rate_multiplier       f32
	prompt_loss_weight             f64
	compute_classification_metrics bool
	suffix                         string
}

struct FineTuneEvent #

struct FineTuneEvent {
pub:
	object     string
	created_at int
	level      string
	message    string
}

struct FineTuneEventList #

struct FineTuneEventList {
pub:
	object string
	data   []FineTuneEvent
}

struct FineTuneHyperParams #

struct FineTuneHyperParams {
pub:
	batch_size               int
	learning_rate_multiplier f64
	n_epochs                 int
	prompt_loss_weight       f64
}

struct FineTuneList #

struct FineTuneList {
pub:
	object string
	data   []FineTune
}