mirror of
https://github.com/infiniflow/ragflow.git
synced 2025-12-08 20:42:30 +08:00
Feat: Reset the default values of large model parameters (#8262)
### What problem does this PR solve? Feat: Reset the default values of large model parameters ### Type of change - [x] New Feature (non-breaking change which adds functionality)
This commit is contained in:
@ -6,6 +6,7 @@ import {
|
|||||||
import { Flex, Form, InputNumber, Select, Slider, Switch, Tooltip } from 'antd';
|
import { Flex, Form, InputNumber, Select, Slider, Switch, Tooltip } from 'antd';
|
||||||
import camelCase from 'lodash/camelCase';
|
import camelCase from 'lodash/camelCase';
|
||||||
|
|
||||||
|
import { ChatVariableEnabledField } from '@/constants/chat';
|
||||||
import { useTranslate } from '@/hooks/common-hooks';
|
import { useTranslate } from '@/hooks/common-hooks';
|
||||||
import { useComposeLlmOptionsByModelTypes } from '@/hooks/llm-hooks';
|
import { useComposeLlmOptionsByModelTypes } from '@/hooks/llm-hooks';
|
||||||
import { QuestionCircleOutlined } from '@ant-design/icons';
|
import { QuestionCircleOutlined } from '@ant-design/icons';
|
||||||
@ -34,7 +35,13 @@ const LlmSettingItems = ({ prefix, formItemLayout = {}, onChange }: IProps) => {
|
|||||||
if (prefix) {
|
if (prefix) {
|
||||||
nextVariable = { [prefix]: variable };
|
nextVariable = { [prefix]: variable };
|
||||||
}
|
}
|
||||||
form.setFieldsValue(nextVariable);
|
const variableCheckBoxFieldMap = Object.values(
|
||||||
|
ChatVariableEnabledField,
|
||||||
|
).reduce<Record<string, boolean>>((pre, cur) => {
|
||||||
|
pre[cur] = cur !== ChatVariableEnabledField.MaxTokensEnabled;
|
||||||
|
return pre;
|
||||||
|
}, {});
|
||||||
|
form.setFieldsValue({ ...nextVariable, ...variableCheckBoxFieldMap });
|
||||||
},
|
},
|
||||||
[form, prefix],
|
[form, prefix],
|
||||||
);
|
);
|
||||||
@ -275,6 +282,54 @@ const LlmSettingItems = ({ prefix, formItemLayout = {}, onChange }: IProps) => {
|
|||||||
</Form.Item>
|
</Form.Item>
|
||||||
</Flex>
|
</Flex>
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
|
<Form.Item
|
||||||
|
label={t('maxTokens')}
|
||||||
|
tooltip={t('maxTokensTip')}
|
||||||
|
{...formItemLayout}
|
||||||
|
>
|
||||||
|
<Flex gap={20} align="center">
|
||||||
|
<Form.Item
|
||||||
|
name={'maxTokensEnabled'}
|
||||||
|
valuePropName="checked"
|
||||||
|
noStyle
|
||||||
|
>
|
||||||
|
<Switch size="small" />
|
||||||
|
</Form.Item>
|
||||||
|
<Form.Item noStyle dependencies={['maxTokensEnabled']}>
|
||||||
|
{({ getFieldValue }) => {
|
||||||
|
const disabled = !getFieldValue('maxTokensEnabled');
|
||||||
|
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<Flex flex={1}>
|
||||||
|
<Form.Item
|
||||||
|
name={[...memorizedPrefix, 'max_tokens']}
|
||||||
|
noStyle
|
||||||
|
>
|
||||||
|
<Slider
|
||||||
|
className={styles.variableSlider}
|
||||||
|
max={128000}
|
||||||
|
disabled={disabled}
|
||||||
|
/>
|
||||||
|
</Form.Item>
|
||||||
|
</Flex>
|
||||||
|
<Form.Item
|
||||||
|
name={[...memorizedPrefix, 'max_tokens']}
|
||||||
|
noStyle
|
||||||
|
>
|
||||||
|
<InputNumber
|
||||||
|
disabled={disabled}
|
||||||
|
className={styles.sliderInputNumber}
|
||||||
|
max={128000}
|
||||||
|
min={0}
|
||||||
|
/>
|
||||||
|
</Form.Item>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}}
|
||||||
|
</Form.Item>
|
||||||
|
</Flex>
|
||||||
|
</Form.Item>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</>
|
</>
|
||||||
|
|||||||
@ -23,25 +23,25 @@ export enum ModelVariableType {
|
|||||||
|
|
||||||
export const settledModelVariableMap = {
|
export const settledModelVariableMap = {
|
||||||
[ModelVariableType.Improvise]: {
|
[ModelVariableType.Improvise]: {
|
||||||
temperature: 0.9,
|
temperature: 0.8,
|
||||||
top_p: 0.9,
|
top_p: 0.9,
|
||||||
frequency_penalty: 0.2,
|
frequency_penalty: 0.1,
|
||||||
presence_penalty: 0.4,
|
presence_penalty: 0.1,
|
||||||
max_tokens: 512,
|
max_tokens: 4096,
|
||||||
},
|
},
|
||||||
[ModelVariableType.Precise]: {
|
[ModelVariableType.Precise]: {
|
||||||
temperature: 0.1,
|
temperature: 0.2,
|
||||||
top_p: 0.3,
|
top_p: 0.75,
|
||||||
frequency_penalty: 0.7,
|
frequency_penalty: 0.5,
|
||||||
presence_penalty: 0.4,
|
presence_penalty: 0.5,
|
||||||
max_tokens: 512,
|
max_tokens: 4096,
|
||||||
},
|
},
|
||||||
[ModelVariableType.Balance]: {
|
[ModelVariableType.Balance]: {
|
||||||
temperature: 0.5,
|
temperature: 0.5,
|
||||||
top_p: 0.5,
|
top_p: 0.85,
|
||||||
frequency_penalty: 0.7,
|
frequency_penalty: 0.3,
|
||||||
presence_penalty: 0.4,
|
presence_penalty: 0.2,
|
||||||
max_tokens: 512,
|
max_tokens: 4096,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -64,6 +64,7 @@ export function replaceThinkToSection(text: string = '') {
|
|||||||
export function setInitialChatVariableEnabledFieldValue(
|
export function setInitialChatVariableEnabledFieldValue(
|
||||||
field: ChatVariableEnabledField,
|
field: ChatVariableEnabledField,
|
||||||
) {
|
) {
|
||||||
|
return false;
|
||||||
return field !== ChatVariableEnabledField.MaxTokensEnabled;
|
return field !== ChatVariableEnabledField.MaxTokensEnabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user