Skip to content

Fine-tuning & Training Data

Copy page

Two cooperating clients turn your existing content into a fine-tuned model:

  • divinci.trainingData synthesizes question/answer pairs from RAG documents or audio transcripts.
  • divinci.fineTune manages the fine-tuning jobs and their files.

Estimate cost first, then generate:

const estimate = await divinci.trainingData.estimateCost(
"ws_123",
"RagFile",
ragFileId,
{ qaPerChunk: 3 },
);
console.log(estimate.costs.totalCostUSD);
const job = await divinci.trainingData.generateFromRag("ws_123", ragFileId, {
qaPerChunk: 3,
qualityThreshold: 0.7,
});
// Wait for the async job to finish
const done = await divinci.trainingData.waitFor("ws_123", job._id, {
onProgress: (j) => console.log(j.progress?.qaPairsGenerated),
});
const pairs = await divinci.trainingData.results("ws_123", job._id);

You can also generate from audio: generateFromAudio("ws_123", audioId, options).

The same training-data job can flow into fine-tuning, QA suites, or back into RAG:

// → fine-tune file
await divinci.trainingData.exportToFineTune("ws_123", job._id, { approvedOnly: true });
// → QA test suites
await divinci.trainingData.exportToQA("ws_123", job._id, {
targetSuiteIds: ["suite_a"],
samplingStrategy: "diverse",
maxTests: 50,
});
// → a RAG vector (synthesize declarative passages)
await divinci.trainingData.exportToRag("ws_123", job._id, {
synthesisMode: "auto",
enableRoundTripFilter: true,
});
const job = await divinci.fineTune.create({
workspaceId: "ws_123",
name: "support-tuned-v1",
baseModel: "gemini-2.5-flash",
trainingData: fineTuneFile,
});
await divinci.fineTune.start(job._id);
const status = await divinci.fineTune.status(job._id);
console.log(status.status, status.progress);
await divinci.fineTune.cancel(job._id);
const result = await divinci.fineTune.copyFilesFrom({
sourceWhitelabelId: "ws_source",
// optional: sourceFileIds, copyCachedIds
});
console.log(result.fileIdMap);
ClientMethods
trainingDataestimateCost, generateFromRag, generateFromAudio, list, get, results, exportToFineTune, exportToQA, exportToRag, cancel, waitFor
fineTunelist, get, create, delete, start, status, cancel, copyFilesFrom, exportFileToQA