yd-yunxing-web/src/views/ai/model/image/composables/index.ts

111 lines
2.0 KiB
TypeScript

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
}
}