export default function () { enum ProviderEnum { OPENAI = 'OPENAI', AZURE_OPENAI = 'AZURE_OPENAI', ZHIPU = 'ZHIPU', } const LLMProviders: any[] = [ { model: ProviderEnum.OPENAI, name: 'OpenAI', models: ['dall-e-2', 'dall-e-3'], }, { model: ProviderEnum.AZURE_OPENAI, name: 'Azure OpenAI', models: ['dall-e-2', 'dall-e-3'], }, { model: ProviderEnum.ZHIPU, name: '智谱清言', models: ['cogview-3'], }, ] const formData = ref({ provider: ProviderEnum.OPENAI, }); const tableData = ref([]) const shema = ref([ { field: 'provider', label: '模型别名', component: 'Select', required: true, componentProps: { placeholder: '请输入模型别名', style: { width: '180px', }, options: LLMProviders.map((item) => ({ label: item.name, value: item.model, })), }, }, ]) const baseColumns = [ { label: '模型别名', field: 'name', }, { label: '模型版本', field: 'model', }, ]; const openaiColumns = [ ...baseColumns, { label: 'Api Key', field: 'apiKey', }, ]; const azureOpenaiColumns = [ ...baseColumns, { label: 'Api Key', field: 'apiKey', }, { label: 'Endpoint', field: 'endpoint', }, { label: 'Deployment Name', field: 'azureDeploymentName', }, ]; const zhipuColumns = [...baseColumns]; function getColumns(provider: string) { console.log(provider); switch (provider) { case ProviderEnum.OPENAI: { return openaiColumns; } case ProviderEnum.AZURE_OPENAI: { return azureOpenaiColumns; } case ProviderEnum.ZHIPU: { return zhipuColumns; } } return []; } const columns = computed(() => { nextTick(); return getColumns(formData.value.provider) }); return { LLMProviders, columns, tableData, shema, formData } }