chore: profile config

This commit is contained in:
jialin
2026-01-30 18:48:55 +08:00
parent 8f2eea70f6
commit 1a2e82f079
27 changed files with 730 additions and 231 deletions
@@ -1,4 +1,5 @@
import { useQueryDataList } from '@/hooks/use-query-data-list';
import { useState } from 'react';
import { queryDatasetList } from '../apis';
import { DatasetListItem } from '../config/types';
@@ -11,10 +12,34 @@ const useQueryDataset = () => {
fetchList: queryDatasetList
});
const [datasetList, setDatasetList] = useState<
Global.BaseOption<number | string>[]
>([]);
const fetchDatasetData = async () => {
const items = await fetchData({
page: -1
});
const list =
items?.map((item) => ({
...item,
label: item.name,
value: item.id
})) || [];
setDatasetList([
...list,
{
label: 'Custom',
value: 'Custom'
}
]);
};
return {
dataList,
datasetList,
loading,
fetchData,
fetchDatasetData,
cancelRequest
};
};
@@ -1,22 +0,0 @@
import { useQueryData } from '@/hooks/use-query-data-list';
import { queryBenchmarkMetrics } from '../apis';
import { BenchmarkMetricsFormData } from '../config/detail-types';
export default function useQueryBenchmarkMetrics() {
const { detailData, loading, cancelRequest, fetchData } = useQueryData<
any,
{
id: number;
data: BenchmarkMetricsFormData;
}
>({
fetchDetail: queryBenchmarkMetrics,
key: 'benchmarkMetrics'
});
return {
detailData,
loading,
cancelRequest,
fetchData
};
}
@@ -0,0 +1,57 @@
import { useQueryData } from '@/hooks/use-query-data-list';
import _ from 'lodash';
import { useState } from 'react';
import { queryProfiles } from '../apis';
import { ProfileOption } from '../config/types';
export default function useQueryProfiles() {
const { detailData, loading, cancelRequest, fetchData } = useQueryData<{
profiles: ProfileOption[];
}>({
fetchDetail: queryProfiles,
key: 'profiles'
});
const [profilesOptions, setProfilesOptions] = useState<
{
label: string;
value: string;
config: Partial<ProfileOption>;
}[]
>([]);
const fetchProfilesData = async () => {
const res = await fetchData({});
const list =
res?.profiles?.map((item) => {
return {
label: item.name,
value: item.name,
config: {
..._.omit(item, 'name')
}
};
}) || [];
setProfilesOptions([
...list,
{
label: 'Custom',
value: 'Custom',
config: {
dataset_name: '',
dataset_prompt_tokens: null,
dataset_output_tokens: null,
request_rate: null,
total_requests: null
}
}
]);
};
return {
profilesOptions,
loading,
cancelRequest,
fetchProfilesData
};
}