mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2026-01-10 23:59:45 +08:00
feat: add azure provider type #931
This commit is contained in:
parent
99fd08184b
commit
90b8d704c9
@ -630,7 +630,7 @@
|
|||||||
},
|
},
|
||||||
"all": "全部",
|
"all": "全部",
|
||||||
"vision": "视觉模型",
|
"vision": "视觉模型",
|
||||||
"websearch": "网络搜索模型",
|
"websearch": "联网模型",
|
||||||
"free": "免费模型",
|
"free": "免费模型",
|
||||||
"embedding": "嵌入模型",
|
"embedding": "嵌入模型",
|
||||||
"embedding_model": "嵌入模型",
|
"embedding_model": "嵌入模型",
|
||||||
|
|||||||
@ -60,7 +60,8 @@ const PopupContainer: React.FC<Props> = ({ provider, resolve }) => {
|
|||||||
options={[
|
options={[
|
||||||
{ label: 'OpenAI', value: 'openai' },
|
{ label: 'OpenAI', value: 'openai' },
|
||||||
{ label: 'Gemini', value: 'gemini' },
|
{ label: 'Gemini', value: 'gemini' },
|
||||||
{ label: 'Anthropic', value: 'anthropic' }
|
{ label: 'Anthropic', value: 'anthropic' },
|
||||||
|
{ label: 'Azure OpenAI', value: 'azure-openai' }
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
|
|||||||
@ -201,6 +201,8 @@ const ProviderSetting: FC<Props> = ({ provider: _provider }) => {
|
|||||||
return value.replaceAll(',', ',').replaceAll(' ', ',').replaceAll(' ', '').replaceAll('\n', ',')
|
return value.replaceAll(',', ',').replaceAll(' ', ',').replaceAll(' ', '').replaceAll('\n', ',')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const isAzureOpenAI = provider.id === 'azure-openai' || provider.type === 'azure-openai'
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<SettingContainer theme={theme}>
|
<SettingContainer theme={theme}>
|
||||||
<SettingTitle>
|
<SettingTitle>
|
||||||
@ -264,7 +266,7 @@ const ProviderSetting: FC<Props> = ({ provider: _provider }) => {
|
|||||||
<SettingHelpText>{t('settings.provider.api.url.tip')}</SettingHelpText>
|
<SettingHelpText>{t('settings.provider.api.url.tip')}</SettingHelpText>
|
||||||
</SettingHelpTextRow>
|
</SettingHelpTextRow>
|
||||||
)}
|
)}
|
||||||
{provider.id === 'azure-openai' && (
|
{isAzureOpenAI && (
|
||||||
<>
|
<>
|
||||||
<SettingSubtitle>{t('settings.provider.api_version')}</SettingSubtitle>
|
<SettingSubtitle>{t('settings.provider.api_version')}</SettingSubtitle>
|
||||||
<Space.Compact style={{ width: '100%', marginTop: 5 }}>
|
<Space.Compact style={{ width: '100%', marginTop: 5 }}>
|
||||||
|
|||||||
@ -23,7 +23,7 @@ export default class OpenAIProvider extends BaseProvider {
|
|||||||
constructor(provider: Provider) {
|
constructor(provider: Provider) {
|
||||||
super(provider)
|
super(provider)
|
||||||
|
|
||||||
if (provider.id === 'azure-openai') {
|
if (provider.id === 'azure-openai' || provider.type === 'azure-openai') {
|
||||||
this.sdk = new AzureOpenAI({
|
this.sdk = new AzureOpenAI({
|
||||||
dangerouslyAllowBrowser: true,
|
dangerouslyAllowBrowser: true,
|
||||||
apiKey: this.apiKey,
|
apiKey: this.apiKey,
|
||||||
|
|||||||
@ -30,7 +30,7 @@ const persistedReducer = persistReducer(
|
|||||||
{
|
{
|
||||||
key: 'cherry-studio',
|
key: 'cherry-studio',
|
||||||
storage,
|
storage,
|
||||||
version: 61,
|
version: 62,
|
||||||
blacklist: ['runtime'],
|
blacklist: ['runtime'],
|
||||||
migrate
|
migrate
|
||||||
},
|
},
|
||||||
|
|||||||
@ -889,6 +889,14 @@ const migrateConfig = {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
return state
|
return state
|
||||||
|
},
|
||||||
|
'62': (state: RootState) => {
|
||||||
|
state.llm.providers.forEach((provider) => {
|
||||||
|
if (provider.id === 'azure-openai') {
|
||||||
|
provider.type = 'azure-openai'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
return state
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -105,7 +105,7 @@ export type Provider = {
|
|||||||
isSystem?: boolean
|
isSystem?: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
export type ProviderType = 'openai' | 'anthropic' | 'gemini' | 'qwenlm'
|
export type ProviderType = 'openai' | 'anthropic' | 'gemini' | 'qwenlm' | 'azure-openai'
|
||||||
|
|
||||||
export type ModelType = 'text' | 'vision' | 'embedding'
|
export type ModelType = 'text' | 'vision' | 'embedding'
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user