111 lines
2.0 KiB
TypeScript
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
|
|
}
|
|
}
|