diff --git a/ui/src/views/model/component/SelectProviderDialog.vue b/ui/src/views/model/component/SelectProviderDialog.vue index c2ba6f0c3..9ff4152fa 100644 --- a/ui/src/views/model/component/SelectProviderDialog.vue +++ b/ui/src/views/model/component/SelectProviderDialog.vue @@ -52,6 +52,7 @@ import { ref } from 'vue' import ProviderApi from '@/api/model/provider' import type { Provider } from '@/api/type/model' import { modelTypeList } from './data' +import { filterVisibleProviders } from './provider-filter' import { t } from '@/locales' const loading = ref(false) @@ -79,15 +80,7 @@ const checkModelType = (model_type: string) => { currentModelType.value = modelTypeOptions.filter((item) => item.value === model_type)[0].text ProviderApi.getProviderByModelType(model_type, loading).then((ok) => { // 排除指定的模型提供商 - const excludedProviders = [ - 'Anthropic', - 'Amazon Bedrock', - 'Gemini', - 'SILICONFLOW', - 'Xorbits Inference', - 'Regolo' - ] - list_provider.value = ok.data.filter(provider => !excludedProviders.includes(provider.name)) + list_provider.value = filterVisibleProviders(ok.data) list_provider.value.sort((a, b) => a.provider.localeCompare(b.provider)) }) } diff --git a/ui/src/views/model/component/provider-filter.ts b/ui/src/views/model/component/provider-filter.ts new file mode 100644 index 000000000..f6b013b06 --- /dev/null +++ b/ui/src/views/model/component/provider-filter.ts @@ -0,0 +1,17 @@ +import type { Provider } from '@/api/type/model' + +const excludedProviderNames = [ + 'Anthropic', + 'Amazon Bedrock', + 'Gemini', + 'SILICONFLOW', + 'Xorbits Inference', + 'Regolo', + 'Azure OpenAI', + 'OpenAI', +] + +const filterVisibleProviders = (providers: Provider[]) => + providers.filter((provider) => !excludedProviderNames.includes(provider.name)) + +export { excludedProviderNames, filterVisibleProviders } diff --git a/ui/src/views/model/index.vue b/ui/src/views/model/index.vue index 9c4079f14..f747ad5ef 100644 --- a/ui/src/views/model/index.vue +++ b/ui/src/views/model/index.vue @@ -123,6 +123,7 @@ import { splitArray } from '@/utils/array' import { modelTypeList, allObj } from '@/views/model/component/data' import CreateModelDialog from '@/views/model/component/CreateModelDialog.vue' import SelectProviderDialog from '@/views/model/component/SelectProviderDialog.vue' +import { filterVisibleProviders } from '@/views/model/component/provider-filter' import { loadSharedApi } from '@/utils/dynamics-api/shared-api' import useStore from '@/stores' import { useRoute } from 'vue-router' @@ -220,17 +221,8 @@ const search_type_change = () => { onMounted(() => { model.asyncGetProvider(loading).then((ok: any) => { // 排除指定的模型提供商 - const excludedProviders = [ - 'Anthropic', - 'Amazon Bedrock', - 'Gemini', - 'SILICONFLOW', - 'Xorbits Inference', - 'Regolo' - ] - const filteredProviders = ok.data.filter((provider: any) => !excludedProviders.includes(provider.name)) active_provider.value = allObj - provider_list.value = [allObj, ...filteredProviders] + provider_list.value = [allObj, ...filterVisibleProviders(ok.data)] list_model() }) })