Fix/condition OpenAI settings (#11509)

* fix(provider): update service tier support logic for OpenAI and Azure providers

* fix(settings): enhance OpenAI settings visibility logic with verbosity support
This commit is contained in:
SuYao
2025-11-27 22:45:43 +08:00
committed by GitHub
parent bf35902696
commit 77a9504f74
2 changed files with 15 additions and 6 deletions

View File

@@ -9,7 +9,7 @@ import {
DEFAULT_TEMPERATURE,
MAX_CONTEXT_COUNT
} from '@renderer/config/constant'
import { isOpenAIModel } from '@renderer/config/models'
import { isOpenAIModel, isSupportVerbosityModel } from '@renderer/config/models'
import { UNKNOWN } from '@renderer/config/translate'
import { useCodeStyle } from '@renderer/context/CodeStyleProvider'
import { useTheme } from '@renderer/context/ThemeProvider'
@@ -56,7 +56,7 @@ import type { Assistant, AssistantSettings, CodeStyleVarious, MathEngine } from
import { isGroqSystemProvider, ThemeMode } from '@renderer/types'
import { modalConfirm } from '@renderer/utils'
import { getSendMessageShortcutLabel } from '@renderer/utils/input'
import { isSupportServiceTierProvider } from '@renderer/utils/provider'
import { isSupportServiceTierProvider, isSupportVerbosityProvider } from '@renderer/utils/provider'
import { Button, Col, InputNumber, Row, Slider, Switch } from 'antd'
import { Settings2 } from 'lucide-react'
import type { FC } from 'react'
@@ -183,7 +183,10 @@ const SettingsTab: FC<Props> = (props) => {
const model = assistant.model || getDefaultModel()
const showOpenAiSettings = isOpenAIModel(model) || isSupportServiceTierProvider(provider)
const showOpenAiSettings =
isOpenAIModel(model) ||
isSupportServiceTierProvider(provider) ||
(isSupportVerbosityModel(model) && isSupportVerbosityProvider(provider))
return (
<Container className="settings-tab">

View File

@@ -71,15 +71,21 @@ export const isSupportEnableThinkingProvider = (provider: Provider) => {
)
}
const NOT_SUPPORT_SERVICE_TIER_PROVIDERS = ['github', 'copilot', 'cerebras'] as const satisfies SystemProviderId[]
const SUPPORT_SERVICE_TIER_PROVIDERS = [
SystemProviderIds.openai,
SystemProviderIds['azure-openai'],
SystemProviderIds.groq
// TODO: 等待上游支持aws-bedrock
]
/**
* 判断提供商是否支持 service_tier 设置。 Only for OpenAI API.
* 判断提供商是否支持 service_tier 设置
*/
export const isSupportServiceTierProvider = (provider: Provider) => {
return (
provider.apiOptions?.isSupportServiceTier === true ||
(isSystemProvider(provider) && !NOT_SUPPORT_SERVICE_TIER_PROVIDERS.some((pid) => pid === provider.id))
provider.type === 'azure-openai' ||
(isSystemProvider(provider) && SUPPORT_SERVICE_TIER_PROVIDERS.some((pid) => pid === provider.id))
)
}