|
| 1 | +import { GET, POST, PUT, DELETE } from '@/api/request'; |
| 2 | +import type { DatasetDataItemType } from '@/types/core/dataset/data'; |
| 3 | +import type { |
| 4 | + PushDataProps, |
| 5 | + PushDataResponse, |
| 6 | + UpdateDataPrams, |
| 7 | + GetDatasetDataListProps |
| 8 | +} from './data.d'; |
| 9 | +import { QuoteItemType } from '@/types/chat'; |
| 10 | +import { getToken } from '@/utils/user'; |
| 11 | +import download from 'downloadjs'; |
| 12 | + |
| 13 | +/* kb data */ |
| 14 | +export const getDatasetDataList = (data: GetDatasetDataListProps) => |
| 15 | + POST(`/core/dataset/data/getDataList`, data); |
| 16 | + |
| 17 | +/** |
| 18 | + * export and download data |
| 19 | + */ |
| 20 | +export const exportDatasetData = (data: { kbId: string }) => |
| 21 | + fetch(`/api/core/dataset/data/exportAll?kbId=${data.kbId}`, { |
| 22 | + method: 'GET', |
| 23 | + headers: { |
| 24 | + token: getToken() |
| 25 | + } |
| 26 | + }) |
| 27 | + .then(async (res) => { |
| 28 | + if (!res.ok) { |
| 29 | + const data = await res.json(); |
| 30 | + throw new Error(data?.message || 'Export failed'); |
| 31 | + } |
| 32 | + return res.blob(); |
| 33 | + }) |
| 34 | + .then((blob) => download(blob, 'dataset.csv', 'text/csv')); |
| 35 | + |
| 36 | +/** |
| 37 | + * 获取模型正在拆分数据的数量 |
| 38 | + */ |
| 39 | +export const getTrainingData = (data: { kbId: string; init: boolean }) => |
| 40 | + POST<{ |
| 41 | + qaListLen: number; |
| 42 | + vectorListLen: number; |
| 43 | + }>(`/core/dataset/data/getTrainingData`, data); |
| 44 | + |
| 45 | +/* get length of system training queue */ |
| 46 | +export const getTrainingQueueLen = () => GET<number>(`/core/dataset/data/getQueueLen`); |
| 47 | + |
| 48 | +export const getDatasetDataItemById = (dataId: string) => |
| 49 | + GET<QuoteItemType>(`/core/dataset/data/getDataById`, { dataId }); |
| 50 | + |
| 51 | +/** |
| 52 | + * push data to training queue |
| 53 | + */ |
| 54 | +export const postChunks2Dataset = (data: PushDataProps) => |
| 55 | + POST<PushDataResponse>(`/core/dataset/data/pushData`, data); |
| 56 | + |
| 57 | +/** |
| 58 | + * insert one data to dataset (immediately insert) |
| 59 | + */ |
| 60 | +export const postData2Dataset = (data: { kbId: string; data: DatasetDataItemType }) => |
| 61 | + POST<string>(`/core/dataset/data/insertData`, data); |
| 62 | + |
| 63 | +/** |
| 64 | + * 更新一条数据 |
| 65 | + */ |
| 66 | +export const putDatasetDataById = (data: UpdateDataPrams) => |
| 67 | + PUT('/core/dataset/data/updateData', data); |
| 68 | +/** |
| 69 | + * 删除一条知识库数据 |
| 70 | + */ |
| 71 | +export const delOneDatasetDataById = (dataId: string) => |
| 72 | + DELETE(`/core/dataset/data/delDataById?dataId=${dataId}`); |
0 commit comments