feat: support baidu model

This commit is contained in:
Dogtiti
2024-07-06 13:05:09 +08:00
parent 2d1f522aaf
commit 785d3748e1
14 changed files with 586 additions and 4 deletions

View File

@@ -321,6 +321,8 @@ export function PreviewActions(props: {
api = new ClientApi(ModelProvider.GeminiPro);
} else if (config.modelConfig.providerName == ServiceProvider.Anthropic) {
api = new ClientApi(ModelProvider.Claude);
} else if (config.modelConfig.providerName == ServiceProvider.Baidu) {
api = new ClientApi(ModelProvider.Ernie);
} else {
api = new ClientApi(ModelProvider.GPT);
}

View File

@@ -175,6 +175,8 @@ export function useLoadData() {
api = new ClientApi(ModelProvider.GeminiPro);
} else if (config.modelConfig.providerName == ServiceProvider.Anthropic) {
api = new ClientApi(ModelProvider.Claude);
} else if (config.modelConfig.providerName == ServiceProvider.Baidu) {
api = new ClientApi(ModelProvider.Ernie);
} else {
api = new ClientApi(ModelProvider.GPT);
}

View File

@@ -53,6 +53,7 @@ import Link from "next/link";
import {
Anthropic,
Azure,
Baidu,
Google,
OPENAI_BASE_URL,
Path,
@@ -1187,6 +1188,67 @@ export function Settings() {
</ListItem>
</>
)}
{accessStore.provider === ServiceProvider.Baidu && (
<>
<ListItem
title={Locale.Settings.Access.Baidu.Endpoint.Title}
subTitle={
Locale.Settings.Access.Anthropic.Endpoint.SubTitle +
Baidu.ExampleEndpoint
}
>
<input
type="text"
value={accessStore.baiduUrl}
placeholder={Baidu.ExampleEndpoint}
onChange={(e) =>
accessStore.update(
(access) =>
(access.baiduUrl = e.currentTarget.value),
)
}
></input>
</ListItem>
<ListItem
title={Locale.Settings.Access.Baidu.ApiKey.Title}
subTitle={Locale.Settings.Access.Baidu.ApiKey.SubTitle}
>
<PasswordInput
value={accessStore.baiduApiKey}
type="text"
placeholder={
Locale.Settings.Access.Baidu.ApiKey.Placeholder
}
onChange={(e) => {
accessStore.update(
(access) =>
(access.baiduApiKey = e.currentTarget.value),
);
}}
/>
</ListItem>
<ListItem
title={Locale.Settings.Access.Baidu.SecretKey.Title}
subTitle={
Locale.Settings.Access.Baidu.SecretKey.SubTitle
}
>
<PasswordInput
value={accessStore.baiduSecretKey}
type="text"
placeholder={
Locale.Settings.Access.Baidu.SecretKey.Placeholder
}
onChange={(e) => {
accessStore.update(
(access) =>
(access.baiduSecretKey = e.currentTarget.value),
);
}}
/>
</ListItem>
</>
)}
</>
)}
</>