import { delay } from "https://esm.town/v/stevekrouse/delay";
import { openaiFineTune } from "https://esm.town/v/stevekrouse/openaiFineTune";
import { openaiUploadFile } from "https://esm.town/v/stevekrouse/openaiUploadFile?v=15";
export async function openaiFineTuneData({ key, data, model }: {
key: string;
data: any;
model?: string;
}) {
let upload = await openaiUploadFile({
key,
data,
});
let fineTune = await openaiFineTune({
key,
model,
trainingFile: upload.id,
});
let tries = 10;
while (fineTune.error?.message?.includes("is not ready") && tries-- > 0) {
console.log("File not ready, will try again in a second");
await delay(1000);
fineTune = await openaiFineTune({
key,
model,
trainingFile: upload.id,
});
}
return fineTune;
}