fix: Merge models of the same category #2479 (#2536)

### What problem does this PR solve?

fix: Merge models of the same category #2479

### Type of change

- [x] Bug Fix (non-breaking change which fixes an issue)
This commit is contained in:
balibabu
2024-09-23 14:07:00 +08:00
committed by GitHub
parent 139268de6f
commit db1be22a2f
3 changed files with 34 additions and 16 deletions

View File

@ -14,6 +14,7 @@ import userService from '@/services/user-service';
import { sortLLmFactoryListBySpecifiedOrder } from '@/utils/common-util';
import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';
import { message } from 'antd';
import { DefaultOptionType } from 'antd/es/select';
import { useMemo } from 'react';
import { useTranslation } from 'react-i18next';
@ -42,7 +43,7 @@ export const useSelectLlmOptions = () => {
label: key,
options: value.map((x) => ({
label: x.llm_name,
value: x.llm_name,
value: `${x.llm_name}@${x.fid}`,
disabled: !x.available,
})),
};
@ -91,6 +92,26 @@ export const useSelectLlmOptionsByModelType = () => {
};
};
export const useComposeLlmOptionsByModelTypes = (
modelTypes: LlmModelType[],
) => {
const allOptions = useSelectLlmOptionsByModelType();
return modelTypes.reduce<DefaultOptionType[]>((pre, cur) => {
const options = allOptions[cur];
options.forEach((x) => {
const item = pre.find((y) => y.label === x.label);
if (item) {
item.options.push(...x.options);
} else {
pre.push(x);
}
});
return pre;
}, []);
};
export const useFetchLlmFactoryList = (): ResponseGetType<IFactory[]> => {
const { data, isFetching: loading } = useQuery({
queryKey: ['factoryList'],