feat: Conditionally render reasoning effort control for reasoning models

This commit is contained in:
kangfenmao 2025-03-02 09:23:39 +08:00
parent 11bd55701c
commit f91caff7ec
2 changed files with 46 additions and 40 deletions

View File

@ -1843,7 +1843,7 @@ export function isOpenAIoSeries(model: Model): boolean {
return ['o1', 'o1-2024-12-17'].includes(model.id) || model.id.includes('o3')
}
export function isReasoningModel(model: Model): boolean {
export function isReasoningModel(model?: Model): boolean {
if (!model) {
return false
}

View File

@ -8,6 +8,7 @@ import {
isMac,
isWindows
} from '@renderer/config/constant'
import { isReasoningModel } from '@renderer/config/models'
import { codeThemes } from '@renderer/context/SyntaxHighlighterProvider'
import { useAssistant } from '@renderer/hooks/useAssistant'
import { useSettings } from '@renderer/hooks/useSettings'
@ -231,6 +232,8 @@ const SettingsTab: FC<Props> = (props) => {
</Col>
</Row>
)}
{isReasoningModel(assistant?.model) && (
<>
<SettingDivider />
<Row align="middle">
<Label>{t('assistants.settings.reasoning_effort')}</Label>
@ -270,6 +273,8 @@ const SettingsTab: FC<Props> = (props) => {
</SegmentedContainer>
</Col>
</Row>
</>
)}
</SettingGroup>
<SettingGroup>
<SettingSubtitle style={{ marginTop: 0 }}>{t('settings.messages.title')}</SettingSubtitle>
@ -534,6 +539,7 @@ export const SettingGroup = styled.div<{ theme?: ThemeMode }>`
// Define the styled component with hover state styling
const SegmentedContainer = styled.div`
margin-top: 5px;
.ant-segmented-item {
font-size: 12px;
}