From 7088ce651827fa3521a5f9bef1719a74bbb8589e Mon Sep 17 00:00:00 2001 From: abhimazu <mail.abhijeetmazumdar@gmail.com> Date: Wed, 5 Mar 2025 12:16:53 -0500 Subject: [PATCH] Added optional config name for dataset download --- .../components/Data/LocalDatasets.tsx | 93 +++++++++---------- src/renderer/lib/transformerlab-api-sdk.ts | 4 +- 2 files changed, 45 insertions(+), 52 deletions(-) diff --git a/src/renderer/components/Data/LocalDatasets.tsx b/src/renderer/components/Data/LocalDatasets.tsx index 64e2d551..790fb9b7 100644 --- a/src/renderer/components/Data/LocalDatasets.tsx +++ b/src/renderer/components/Data/LocalDatasets.tsx @@ -145,57 +145,50 @@ export default function LocalDatasets() { }} > <> - <FormControl> - <Input - placeholder="Open-Orca/OpenOrca" - name="download-dataset-name" - endDecorator={ - <Button - onClick={async (e) => { - const dataset = document.getElementsByName( - 'download-dataset-name' - )[0].value; - // only download if valid model is entered - if (dataset) { - // this triggers UI changes while download is in progress - setDownloadingDataset(dataset); - - // Datasets can be very large so do this asynchronously - fetch(chatAPI.Endpoints.Dataset.Download(dataset)) - .then((response) => { - if (!response.ok) { - console.log(response); - throw new Error(`HTTP Status: ${response.status}`); - } - return response.json(); - }) - .then((response_json) => { - if (response_json?.status == 'error') { - throw new Error(response_json.message); - } - // now mutate: - mutate(); - setDownloadingDataset(null); - }) - .catch((error) => { - setDownloadingDataset(null); - alert('Download failed:\n' + error); - }); - } - }} - startDecorator={ - downloadingDataset ? ( - <CircularProgress size="sm" thickness={2} /> - ) : ( - '' - ) + <FormControl> + <Box sx={{ display: 'flex', gap: 1, alignItems: 'center' }}> + <Input + placeholder="Open-Orca/OpenOrca" + name="download-dataset-name" + sx={{ flex: 7 }} + /> + <Input + placeholder="Config name" + name="download-config-name" + sx={{ flex: 3 }} + /> + <Button + onClick={async (e) => { + const dataset = document.getElementsByName('download-dataset-name')[0].value; + const configName = document.getElementsByName('download-config-name')[0]?.value; + if (dataset) { + setDownloadingDataset(dataset); + fetch(chatAPI.Endpoints.Dataset.Download(dataset, configName)) + .then((response) => { + if (!response.ok) { + console.log(response); + throw new Error(`HTTP Status: ${response.status}`); + } + return response.json(); + }) + .then((response_json) => { + if (response_json?.status == 'error') { + throw new Error(response_json.message); + } + mutate(); + setDownloadingDataset(null); + }) + .catch((error) => { + setDownloadingDataset(null); + alert('Download failed:\n' + error); + }); } - > - {downloadingDataset ? 'Downloading' : 'Download 🤗 Dataset'} - </Button> - } - sx={{ width: '500px' }} - /> + }} + startDecorator={downloadingDataset ? <CircularProgress size="sm" thickness={2} /> : ''} + > + {downloadingDataset ? 'Downloading' : 'Download 🤗 Dataset'} + </Button> + </Box> </FormControl> <> <Button diff --git a/src/renderer/lib/transformerlab-api-sdk.ts b/src/renderer/lib/transformerlab-api-sdk.ts index 819a3315..33ff1fea 100644 --- a/src/renderer/lib/transformerlab-api-sdk.ts +++ b/src/renderer/lib/transformerlab-api-sdk.ts @@ -1048,8 +1048,8 @@ Endpoints.Dataset = { Delete: (datasetId: string) => API_URL() + 'data/delete?dataset_id=' + datasetId, Create: (datasetId: string) => API_URL() + 'data/new?dataset_id=' + datasetId, - Download: (datasetId: string) => - API_URL() + 'data/download?dataset_id=' + datasetId, + Download: (datasetId: string, configName?: string) => + API_URL() + 'data/download?dataset_id=' + datasetId + (configName ? '&config_name=' + configName : ''), LocalList: (generated: boolean = true) => API_URL() + 'data/list?generated=' + generated, GeneratedList: () => API_URL() + 'data/generated_datasets_list', FileUpload: (datasetId: string) => -- GitLab