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 camelCase from 'lodash/camelCase';
|
||||
|
||||
import { ChatVariableEnabledField } from '@/constants/chat';
|
||||
import { useTranslate } from '@/hooks/common-hooks';
|
||||
import { useComposeLlmOptionsByModelTypes } from '@/hooks/llm-hooks';
|
||||
import { QuestionCircleOutlined } from '@ant-design/icons';
|
||||
@ -34,7 +35,13 @@ const LlmSettingItems = ({ prefix, formItemLayout = {}, onChange }: IProps) => {
|
||||
if (prefix) {
|
||||
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],
|
||||
);
|
||||
@ -275,6 +282,54 @@ const LlmSettingItems = ({ prefix, formItemLayout = {}, onChange }: IProps) => {
|
||||
</Form.Item>
|
||||
</Flex>
|
||||
</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>
|
||||
</>
|
||||
|
||||
@ -23,25 +23,25 @@ export enum ModelVariableType {
|
||||
|
||||
export const settledModelVariableMap = {
|
||||
[ModelVariableType.Improvise]: {
|
||||
temperature: 0.9,
|
||||
temperature: 0.8,
|
||||
top_p: 0.9,
|
||||
frequency_penalty: 0.2,
|
||||
presence_penalty: 0.4,
|
||||
max_tokens: 512,
|
||||
frequency_penalty: 0.1,
|
||||
presence_penalty: 0.1,
|
||||
max_tokens: 4096,
|
||||
},
|
||||
[ModelVariableType.Precise]: {
|
||||
temperature: 0.1,
|
||||
top_p: 0.3,
|
||||
frequency_penalty: 0.7,
|
||||
presence_penalty: 0.4,
|
||||
max_tokens: 512,
|
||||
temperature: 0.2,
|
||||
top_p: 0.75,
|
||||
frequency_penalty: 0.5,
|
||||
presence_penalty: 0.5,
|
||||
max_tokens: 4096,
|
||||
},
|
||||
[ModelVariableType.Balance]: {
|
||||
temperature: 0.5,
|
||||
top_p: 0.5,
|
||||
frequency_penalty: 0.7,
|
||||
presence_penalty: 0.4,
|
||||
max_tokens: 512,
|
||||
top_p: 0.85,
|
||||
frequency_penalty: 0.3,
|
||||
presence_penalty: 0.2,
|
||||
max_tokens: 4096,
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
@ -64,6 +64,7 @@ export function replaceThinkToSection(text: string = '') {
|
||||
export function setInitialChatVariableEnabledFieldValue(
|
||||
field: ChatVariableEnabledField,
|
||||
) {
|
||||
return false;
|
||||
return field !== ChatVariableEnabledField.MaxTokensEnabled;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user