Commit c8bbd8a6 by Archer Committed by GitHub

version (#6726)

* version

* fix: default model
parent 57a505f8
{ {
"name": "app", "name": "app",
"version": "4.14.10", "version": "4.14.10.1",
"private": false, "private": false,
"scripts": { "scripts": {
"dev": "NODE_OPTIONS='--max-old-space-size=8192' npm run build:workers && next dev", "dev": "NODE_OPTIONS='--max-old-space-size=8192' npm run build:workers && next dev",
......
...@@ -9,21 +9,14 @@ import MyIcon from '@fastgpt/web/components/common/Icon'; ...@@ -9,21 +9,14 @@ import MyIcon from '@fastgpt/web/components/common/Icon';
import AIModelSelector from '@/components/Select/AIModelSelector'; import AIModelSelector from '@/components/Select/AIModelSelector';
import { getWebDefaultLLMModel } from '@/web/common/system/utils'; import { getWebDefaultLLMModel } from '@/web/common/system/utils';
import { useMemoEnhance } from '@fastgpt/web/hooks/useMemoEnhance'; import { useMemoEnhance } from '@fastgpt/web/hooks/useMemoEnhance';
import { useLatest } from 'ahooks';
type Props = { type Props = {
defaultModel?: string;
defaultData: SettingAIDataType; defaultData: SettingAIDataType;
onChange: (e: SettingAIDataType) => void; onChange: (e: SettingAIDataType) => void;
bg?: string; bg?: string;
}; };
const SettingLLMModel = ({ const SettingLLMModel = ({ defaultData, onChange, ...props }: AIChatSettingsModalProps & Props) => {
defaultModel,
defaultData,
onChange,
...props
}: AIChatSettingsModalProps & Props) => {
const { t } = useTranslation(); const { t } = useTranslation();
const { llmModelList } = useSystemStore(); const { llmModelList } = useSystemStore();
...@@ -38,18 +31,20 @@ const SettingLLMModel = ({ ...@@ -38,18 +31,20 @@ const SettingLLMModel = ({
}; };
}, [llmModelList]); }, [llmModelList]);
// Set default model // Reset undefined model
const lastDefaultModel = useLatest(defaultModel);
useEffect(() => { useEffect(() => {
if (modelSet.size === 0) return; if (model) {
if (!modelSet.has(model)) { if (modelSet.size > 0 && !modelSet.has(model) && defaultLLMModel) {
const defaultLLM = lastDefaultModel.current || defaultLLMModel;
if (defaultLLM && modelSet.has(defaultLLM)) {
onChange({ onChange({
...defaultData, ...defaultData,
model: defaultLLM model: defaultLLMModel
}); });
} }
} else if (defaultLLMModel) {
onChange({
...defaultData,
model: defaultLLMModel
});
} }
}, [model, defaultData, modelSet, defaultLLMModel]); }, [model, defaultData, modelSet, defaultLLMModel]);
......
import React, { useState } from 'react'; import React, { useState } from 'react';
import { getDefaultAppForm } from '@fastgpt/global/core/app/utils'; import type { AppFormEditFormType } from '@fastgpt/global/core/app/formEdit/type';
import { agentForm2AppWorkflow, appWorkflow2AgentForm } from './utils'; import { agentForm2AppWorkflow, appWorkflow2AgentForm } from './utils';
import Header from '../FormComponent/Header'; import Header from '../FormComponent/Header';
...@@ -24,14 +24,9 @@ const AgentEdit = () => { ...@@ -24,14 +24,9 @@ const AgentEdit = () => {
appDetail._id appDetail._id
); );
const [appForm, setAppForm] = useState(getDefaultAppForm()); const [appForm, setAppForm] = useState<AppFormEditFormType>(() => {
// Init app form
useMount(async () => {
let initialAppForm;
if (past.length === 0) { if (past.length === 0) {
initialAppForm = appWorkflow2AgentForm({ return appWorkflow2AgentForm({
nodes: appDetail.modules, nodes: appDetail.modules,
chatConfig: { chatConfig: {
...appDetail.chatConfig, ...appDetail.chatConfig,
...@@ -41,17 +36,20 @@ const AgentEdit = () => { ...@@ -41,17 +36,20 @@ const AgentEdit = () => {
} }
} }
}); });
}
return past[0].appForm;
});
// Init snapshot
useMount(() => {
if (past.length === 0) {
saveSnapshot({ saveSnapshot({
appForm: initialAppForm, appForm,
title: t('app:initial_form'), title: t('app:initial_form'),
isSaved: true isSaved: true
}); });
} else {
initialAppForm = past[0].appForm;
} }
// Set initial app form
setAppForm(initialAppForm);
}); });
// Save snapshot to local // Save snapshot to local
......
import React, { useState } from 'react'; import React, { useState } from 'react';
import { getDefaultAppForm } from '@fastgpt/global/core/app/utils';
import Header from '../FormComponent/Header'; import Header from '../FormComponent/Header';
import { useContextSelector } from 'use-context-selector'; import { useContextSelector } from 'use-context-selector';
import { AppContext, TabEnum } from '../../context'; import { AppContext, TabEnum } from '../../context';
...@@ -25,22 +23,16 @@ const SimpleEdit = () => { ...@@ -25,22 +23,16 @@ const SimpleEdit = () => {
appDetail._id appDetail._id
); );
const [appForm, setAppForm] = useState(getDefaultAppForm()); const [appForm, setAppForm] = useState(() => {
// Init app form
useMount(() => {
if (appDetail.version !== 'v2') { if (appDetail.version !== 'v2') {
return setAppForm( return appWorkflow2Form({
appWorkflow2Form({ nodes: v1Workflow2V2((appDetail.modules || []) as any)?.nodes,
nodes: v1Workflow2V2((appDetail.modules || []) as any)?.nodes, chatConfig: appDetail.chatConfig
chatConfig: appDetail.chatConfig });
})
);
} }
// 初始化snapshot
if (past.length === 0) { if (past.length === 0) {
const appForm = appWorkflow2Form({ return appWorkflow2Form({
nodes: appDetail.modules, nodes: appDetail.modules,
chatConfig: { chatConfig: {
...appDetail.chatConfig, ...appDetail.chatConfig,
...@@ -50,14 +42,20 @@ const SimpleEdit = () => { ...@@ -50,14 +42,20 @@ const SimpleEdit = () => {
} }
} }
}); });
}
return past[0].appForm;
});
// Init app form
useMount(() => {
// 初始化snapshot
if (past.length === 0) {
saveSnapshot({ saveSnapshot({
appForm, appForm,
title: t('app:initial_form'), title: t('app:initial_form'),
isSaved: true isSaved: true
}); });
setAppForm(appForm); setAppForm(appForm);
} else {
setAppForm(past[0].appForm);
} }
}); });
......
...@@ -9,7 +9,7 @@ import { useMemoEnhance } from '@fastgpt/web/hooks/useMemoEnhance'; ...@@ -9,7 +9,7 @@ import { useMemoEnhance } from '@fastgpt/web/hooks/useMemoEnhance';
import { useLocalStorageState } from 'ahooks'; import { useLocalStorageState } from 'ahooks';
import { getWebDefaultLLMModel } from '@/web/common/system/utils'; import { getWebDefaultLLMModel } from '@/web/common/system/utils';
const SelectAiModelRender = ({ item, inputs = [], nodeId }: RenderInputProps) => { const SelectAiModelRender = ({ inputs = [], nodeId }: RenderInputProps) => {
const onChangeNode = useContextSelector(WorkflowActionsContext, (v) => v.onChangeNode); const onChangeNode = useContextSelector(WorkflowActionsContext, (v) => v.onChangeNode);
const [defaultModel, setDefaultModel] = useLocalStorageState<string>( const [defaultModel, setDefaultModel] = useLocalStorageState<string>(
...@@ -46,7 +46,7 @@ const SelectAiModelRender = ({ item, inputs = [], nodeId }: RenderInputProps) => ...@@ -46,7 +46,7 @@ const SelectAiModelRender = ({ item, inputs = [], nodeId }: RenderInputProps) =>
const llmModelData: SettingAIDataType = useMemoEnhance( const llmModelData: SettingAIDataType = useMemoEnhance(
() => ({ () => ({
model: inputs.find((input) => input.key === NodeInputKeyEnum.aiModel)?.value ?? '', model: inputs.find((input) => input.key === NodeInputKeyEnum.aiModel)?.value ?? defaultModel,
maxToken: inputs.find((input) => input.key === NodeInputKeyEnum.aiChatMaxToken)?.value, maxToken: inputs.find((input) => input.key === NodeInputKeyEnum.aiChatMaxToken)?.value,
temperature: inputs.find((input) => input.key === NodeInputKeyEnum.aiChatTemperature)?.value, temperature: inputs.find((input) => input.key === NodeInputKeyEnum.aiChatTemperature)?.value,
isResponseAnswerText: inputs.find( isResponseAnswerText: inputs.find(
...@@ -64,16 +64,10 @@ const SelectAiModelRender = ({ item, inputs = [], nodeId }: RenderInputProps) => ...@@ -64,16 +64,10 @@ const SelectAiModelRender = ({ item, inputs = [], nodeId }: RenderInputProps) =>
aiChatJsonSchema: inputs.find((input) => input.key === NodeInputKeyEnum.aiChatJsonSchema) aiChatJsonSchema: inputs.find((input) => input.key === NodeInputKeyEnum.aiChatJsonSchema)
?.value ?.value
}), }),
[inputs] [inputs, defaultModel]
); );
return ( return <SettingLLMModel defaultData={llmModelData} onChange={onChangeModel} />;
<SettingLLMModel
defaultModel={defaultModel}
defaultData={llmModelData}
onChange={onChangeModel}
/>
);
}; };
export default React.memo(SelectAiModelRender); export default React.memo(SelectAiModelRender);
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment