Upload a file
Please follow to the fireworks file upload guide for more details.Create a fine-tuning job
- REST API
- OpenAI Python
- OpenAI NodeJS
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <api_key>' \
--header 'x-portkey-fireworks-account-id: <fireworks_account_id>' \
--data '{
"model": "@provider/<model_id>",
"suffix": "<finetune_model_name>",
"training_file": "<s3_path.jsonl>",
"hyperparameters": {
"n_epochs": 1
}
}' \
'https://aigw.portkey.ai/v1/fine_tuning/jobs'
from openai import OpenAI
openai = OpenAI(
api_key="PORTKEY_API_KEY",
base_url="https://aigw.portkey.ai/v1",
default_headers={"x-portkey-fireworks-account-id": "FIREWORKS_ACCOUNT_ID"}
)
fine_tune_job = openai.fine_tuning.jobs.create(
training_file="file_id",
model="@PROVIDER/model_id",
hyperparameters={
"n_epochs": 1
},
validation_file="file_id",
suffix="finetuned_model_name",
)
print(fine_tune_job)
import OpenAI from 'openai'; // We're using the v4 SDK
const openai = new OpenAI({
apiKey: "PORTKEY_API_KEY", // defaults to process.env["OPENAI_API_KEY"],
baseURL: "https://aigw.portkey.ai/v1",
defaultHeaders: {
// defaults to process.env["PORTKEY_API_KEY"]
"x-portkey-fireworks-account-id": "FIREWORKS_ACCOUNT_ID",
}
});
(async () => {
const fine_tune_job = await openai.fineTuning.jobs.create({
training_file: "file_id",
model: "@PROVIDER/model_id",
hyperparameters: {
"n_epochs": 1
},
validation_file: "file_id",
suffix: "finetuned_model_name",
});
console.log(fine_tune_job)
})();
List Fine-tuning Jobs
- REST API
- OpenAI Python
- OpenAI NodeJS
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <api_key>' \
--header 'x-portkey-provider: @provider' \
--header 'x-portkey-fireworks-account-id: <fireworks_account_id>' \
'https://aigw.portkey.ai/v1/fine_tuning/jobs?limit=10'
from openai import OpenAI
openai = OpenAI(
api_key="PORTKEY_API_KEY",
base_url="https://aigw.portkey.ai/v1",
default_headers={"x-portkey-provider": "@PROVIDER", "x-portkey-fireworks-account-id": "FIREWORKS_ACCOUNT_ID"}
)
# List all fine-tuning jobs
jobs = openai.fine_tuning.jobs.list(
limit=10 # Optional: Number of jobs to retrieve (default: 20)
)
print(jobs)
import OpenAI from 'openai';
const openai = new OpenAI({
apiKey: "PORTKEY_API_KEY",
baseURL: "https://aigw.portkey.ai/v1",
defaultHeaders: { "x-portkey-provider": "@PROVIDER", "x-portkey-fireworks-account-id": "FIREWORKS_ACCOUNT_ID" }
});
(async () => {
// List all fine-tuning jobs
const jobs = await openai.fineTuning.jobs.list({
limit: 10 // Optional: Number of jobs to retrieve (default: 20)
});
console.log(jobs);
})();
Retrieve Fine-tuning Job
- REST API
- OpenAI Python
- OpenAI NodeJS
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <api_key>' \
--header 'x-portkey-provider: @provider' \
--header 'x-portkey-fireworks-account-id: <fireworks_account_id>' \
'https://aigw.portkey.ai/v1/fine_tuning/jobs/<job_id>'
from openai import OpenAI
openai = OpenAI(
api_key="PORTKEY_API_KEY",
base_url="https://aigw.portkey.ai/v1",
default_headers={"x-portkey-provider": "@PROVIDER", "x-portkey-fireworks-account-id": "FIREWORKS_ACCOUNT_ID"}
)
# Retrieve a specific fine-tuning job
job = openai.fine_tuning.jobs.retrieve(
fine_tuning_job_id="job_id" # The ID of the fine-tuning job to retrieve
)
print(job)
import OpenAI from 'openai';
const openai = new OpenAI({
apiKey: "PORTKEY_API_KEY",
baseURL: "https://aigw.portkey.ai/v1",
defaultHeaders: { "x-portkey-provider": "@PROVIDER", "x-portkey-fireworks-account-id": "FIREWORKS_ACCOUNT_ID" }
});
(async () => {
// Retrieve a specific fine-tuning job
const job = await openai.fineTuning.jobs.retrieve(
"job_id" // The ID of the fine-tuning job to retrieve
);
console.log(job);
})();
Cancel Fine-tuning Job
- REST API
- OpenAI Python
- OpenAI NodeJS
curl \
--request POST \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <api_key>' \
--header 'x-portkey-provider: @provider' \
--header 'x-portkey-fireworks-account-id: <fireworks_account_id>' \
'https://aigw.portkey.ai/v1/fine_tuning/jobs/<job_id>/cancel'
from openai import OpenAI
openai = OpenAI(
api_key="PORTKEY_API_KEY",
base_url="https://aigw.portkey.ai/v1",
default_headers={"x-portkey-provider": "@PROVIDER", "x-portkey-fireworks-account-id": "FIREWORKS_ACCOUNT_ID"}
)
# Cancel a fine-tuning job
cancelled_job = openai.fine_tuning.jobs.cancel(
fine_tuning_job_id="job_id" # The ID of the fine-tuning job to cancel
)
print(cancelled_job)
import OpenAI from 'openai';
const openai = new OpenAI({
apiKey: "PORTKEY_API_KEY",
baseURL: "https://aigw.portkey.ai/v1",
defaultHeaders: { "x-portkey-provider": "@PROVIDER", "x-portkey-fireworks-account-id": "FIREWORKS_ACCOUNT_ID" }
});
(async () => {
// Cancel a fine-tuning job
const cancelledJob = await openai.fineTuning.jobs.cancel(
"job_id" // The ID of the fine-tuning job to cancel
);
console.log(cancelledJob);
})();

