feat(web): agent support deep thinking

This commit is contained in:
zhaoying
2026-03-31 18:07:32 +08:00
parent b40f4829cb
commit ca255304d9
12 changed files with 203 additions and 33 deletions

View File

@@ -2,7 +2,7 @@
* @Author: ZhaoYing
* @Date: 2026-02-03 16:28:07
* @Last Modified by: ZhaoYing
* @Last Modified time: 2026-03-25 11:28:02
* @Last Modified time: 2026-03-31 16:56:57
*/
/**
* Model Configuration Modal
@@ -11,7 +11,7 @@
*/
import { forwardRef, useImperativeHandle, useState, useEffect } from 'react';
import { Form, type SelectProps } from 'antd';
import { Form, type SelectProps, Checkbox } from 'antd';
import { useTranslation } from 'react-i18next';
import type { ModelConfig, ModelConfigModalRef, Config, Source } from '../types'
@@ -70,7 +70,8 @@ const ModelConfigModal = forwardRef<ModelConfigModalRef, ModelConfigModalProps>(
if (source === 'model') {
form.setFieldsValue({
...(data?.model_parameters || {}),
default_model_config_id: data.default_model_config_id || ''
default_model_config_id: data.default_model_config_id || '',
capability: model?.capability || []
})
} else if (source === 'chat' || source === 'multi_agent') {
if (model) {
@@ -103,9 +104,12 @@ const ModelConfigModal = forwardRef<ModelConfigModalRef, ModelConfigModalProps>(
const handleChange: SelectProps['onChange'] = (_value, option) => {
if (source === 'chat') {
form.setFieldValue('label', (option as Model).name)
} else {
form.setFieldValue('capability', (option as Model).capability)
}
form.setFieldsValue({
capability: (option as Model).capability,
deep_thinking: false,
})
}
/** Expose methods to parent component */
@@ -115,8 +119,12 @@ const ModelConfigModal = forwardRef<ModelConfigModalRef, ModelConfigModalProps>(
}));
useEffect(() => {
form.setFieldsValue({...(data?.model_parameters || {})})
const { deep_thinking: _, ...rest } = data?.model_parameters || {}
form.setFieldsValue(rest)
}, [values?.default_model_config_id])
console.log('handleChange values', values)
return (
<RbModal
title={t('application.modelConfig')}
@@ -145,9 +153,17 @@ const ModelConfigModal = forwardRef<ModelConfigModalRef, ModelConfigModalProps>(
/>
}
</FormItem>
{source === 'model' && <FormItem name="capability" hidden />}
{['model', 'chat'].includes(source) && <>
<FormItem name="capability" hidden />
{(values?.deep_thinking || values?.capability?.includes('thinking')) && (
<FormItem name="deep_thinking" valuePropName="checked">
<Checkbox>{t('application.deep_thinking')}</Checkbox>
</FormItem>
)}
</>}
{source === 'chat' && <FormItem name="label" hidden />}
<div className="rb:text-[14px] rb:font-medium rb:text-[#5B6167] rb:mb-4">{t('application.parameterConfig')}</div>
{configFields.map(item => (