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
}