Skip to main content

Datasets SDK

Create and manage evaluation datasets programmatically.

List Datasets

const { datasets } = await client.promptDatasets.getApiPromptsDatasets({
  limit: 20,
});

datasets?.forEach(d => console.log(d.name, `(${d.itemCount} items)`));

List Datasets for a Prompt

const { datasets } = await client.promptDatasets.getApiPromptByIdDatasets({
  id: 123,  // Prompt ID
});

Create Dataset

const dataset = await client.promptDatasets.postApiPromptByIdDatasets({
  id: 123,  // Prompt ID
  name: 'Support Scenarios',
  description: 'Common customer support scenarios',
});

console.log('Created dataset:', dataset.id);

Get Dataset

const dataset = await client.promptDatasets.getApiPromptsDatasetsById({
  id: 456,  // Dataset ID
});

console.log(dataset.name, `(${dataset.itemCount} items)`);

Update Dataset

await client.promptDatasets.patchApiPromptsDatasetsById({
  id: 456,
  name: 'Updated Name',
  description: 'New description',
});

Delete Dataset

await client.promptDatasets.deleteApiPromptsDatasetsById({
  id: 456,
});

Clone Dataset

const cloned = await client.promptDatasets.postApiPromptsDatasetsByIdClone({
  id: 456,
  name: 'Support Scenarios (Copy)',
});

Export Dataset

const exported = await client.promptDatasets.getApiPromptsDatasetsByIdExport({
  id: 456,
});
// Returns dataset with all items

Dataset Items

List Items

const { items } = await client.promptDatasetItems.getApiPromptsDatasetsByIdItems({
  id: 456,  // Dataset ID
});

items?.forEach(item => {
  console.log('Input:', item.input);
  console.log('Expected:', item.expectedOutput);
});

Add Single Item

const item = await client.promptDatasetItems.postApiPromptsDatasetsByIdItems({
  id: 456,  // Dataset ID
  input: {
    company: 'Acme Inc',
    user_question: 'How do I reset my password?',
  },
  expectedOutput: 'To reset your password, go to Settings > Security...',
});

Bulk Add Items

const result = await client.promptDatasetItems.postApiPromptsDatasetsByIdItemsBulk({
  id: 456,  // Dataset ID
  items: [
    {
      input: { company: 'Acme', user_question: 'Pricing?' },
      expectedOutput: 'Our pricing starts at...',
    },
    {
      input: { company: 'Acme', user_question: 'Refund policy?' },
      expectedOutput: 'We offer 30-day refunds...',
    },
  ],
});

console.log(`Added ${result.count} items`);

Update Item

await client.promptDatasetItems.patchApiPromptsDatasetItemsById({
  id: 789,  // Item ID
  expectedOutput: 'Updated expected output...',
});

Delete Item

await client.promptDatasetItems.deleteApiPromptsDatasetItemsById({
  id: 789,  // Item ID
});

Method Reference

Dataset Methods

MethodDescription
getApiPromptsDatasets()List all datasets
getApiPromptByIdDatasets({ id })List datasets for a prompt
postApiPromptByIdDatasets({ id, ...data })Create dataset for prompt
getApiPromptsDatasetsById({ id })Get dataset by ID
patchApiPromptsDatasetsById({ id, ...data })Update dataset
deleteApiPromptsDatasetsById({ id })Delete dataset
postApiPromptsDatasetsByIdClone({ id, ...data })Clone dataset
getApiPromptsDatasetsByIdExport({ id })Export dataset

Item Methods

MethodDescription
getApiPromptsDatasetsByIdItems({ id })List dataset items
postApiPromptsDatasetsByIdItems({ id, ...data })Add single item
postApiPromptsDatasetsByIdItemsBulk({ id, ...data })Add multiple items
getApiPromptsDatasetItemsById({ id })Get item by ID
patchApiPromptsDatasetItemsById({ id, ...data })Update item
deleteApiPromptsDatasetItemsById({ id })Delete item