From b054bffa965e993ba268462021155373b45062cc Mon Sep 17 00:00:00 2001 From: archer <545436317@qq.com> Date: Mon, 23 Sep 2024 15:56:25 +0800 Subject: [PATCH 1/7] perf: tool response tip --- .../workflow/dispatch/agent/runTool/functionCall.ts | 11 ----------- .../workflow/dispatch/agent/runTool/promptCall.ts | 11 ----------- .../workflow/dispatch/agent/runTool/toolChoice.ts | 11 ----------- packages/service/core/workflow/dispatch/index.ts | 2 +- 4 files changed, 1 insertion(+), 34 deletions(-) diff --git a/packages/service/core/workflow/dispatch/agent/runTool/functionCall.ts b/packages/service/core/workflow/dispatch/agent/runTool/functionCall.ts index 09bb1f9ddea..3cbbffb135a 100644 --- a/packages/service/core/workflow/dispatch/agent/runTool/functionCall.ts +++ b/packages/service/core/workflow/dispatch/agent/runTool/functionCall.ts @@ -255,17 +255,6 @@ export const runToolWithFunctionCall = async ( ]; // console.log(tokens, 'tool'); - // Run tool status - if (node.showStatus) { - workflowStreamResponse?.({ - event: SseResponseEventEnum.flowNodeStatus, - data: { - status: 'running', - name: node.name - } - }); - } - // tool assistant const toolAssistants = toolsRunResponse .map((item) => { diff --git a/packages/service/core/workflow/dispatch/agent/runTool/promptCall.ts b/packages/service/core/workflow/dispatch/agent/runTool/promptCall.ts index 73717ee6e85..48b09033b18 100644 --- a/packages/service/core/workflow/dispatch/agent/runTool/promptCall.ts +++ b/packages/service/core/workflow/dispatch/agent/runTool/promptCall.ts @@ -275,17 +275,6 @@ export const runToolWithPromptCall = async ( }; })(); - // Run tool status - if (node.showStatus) { - workflowStreamResponse?.({ - event: SseResponseEventEnum.flowNodeStatus, - data: { - status: 'running', - name: node.name - } - }); - } - // 合并工具调用的结果,使用 functionCall 格式存储。 const assistantToolMsgParams: ChatCompletionAssistantMessageParam = { role: ChatCompletionRequestMessageRoleEnum.Assistant, diff --git a/packages/service/core/workflow/dispatch/agent/runTool/toolChoice.ts b/packages/service/core/workflow/dispatch/agent/runTool/toolChoice.ts index 558ebb38e56..c42330419b4 100644 --- a/packages/service/core/workflow/dispatch/agent/runTool/toolChoice.ts +++ b/packages/service/core/workflow/dispatch/agent/runTool/toolChoice.ts @@ -311,17 +311,6 @@ export const runToolWithToolChoice = async ( // console.log(tokens, 'tool'); - // Run tool status - if (node.showStatus) { - workflowStreamResponse?.({ - event: SseResponseEventEnum.flowNodeStatus, - data: { - status: 'running', - name: node.name - } - }); - } - // tool assistant const toolAssistants = toolsRunResponse .map((item) => { diff --git a/packages/service/core/workflow/dispatch/index.ts b/packages/service/core/workflow/dispatch/index.ts index 8120bfaf5bd..6f92e49a1cf 100644 --- a/packages/service/core/workflow/dispatch/index.ts +++ b/packages/service/core/workflow/dispatch/index.ts @@ -497,7 +497,7 @@ export async function dispatchWorkFlow(data: Props): Promise; }> { // push run status messages - if (node.showStatus) { + if (node.showStatus && !props.isToolCall) { props.workflowStreamResponse?.({ event: SseResponseEventEnum.flowNodeStatus, data: { From b888d806579eafe6b1423faf4dde9cb468e922fc Mon Sep 17 00:00:00 2001 From: archer <545436317@qq.com> Date: Mon, 23 Sep 2024 17:17:24 +0800 Subject: [PATCH 2/7] perf: image extract --- packages/service/core/chat/utils.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/service/core/chat/utils.ts b/packages/service/core/chat/utils.ts index e6492bcb026..2c11231d330 100644 --- a/packages/service/core/chat/utils.ts +++ b/packages/service/core/chat/utils.ts @@ -178,6 +178,11 @@ export const loadRequestMessages = async ({ }); }); + // Too many images or too long text, return text + if (httpsImages.length > 4 || input.length > 1000) { + return [{ type: 'text', text: input || '' }]; + } + // 添加原始input作为文本 result.push({ type: 'text', text: input }); return result; From fcd4896a5a2cd3795152b0572e74c779025dbfbc Mon Sep 17 00:00:00 2001 From: archer <545436317@qq.com> Date: Mon, 23 Sep 2024 17:25:22 +0800 Subject: [PATCH 3/7] perf: user question tool desc --- packages/global/core/workflow/template/input.ts | 2 +- packages/web/i18n/en/workflow.json | 1 + packages/web/i18n/zh/workflow.json | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/global/core/workflow/template/input.ts b/packages/global/core/workflow/template/input.ts index 766a7881da9..5d70d639153 100644 --- a/packages/global/core/workflow/template/input.ts +++ b/packages/global/core/workflow/template/input.ts @@ -23,7 +23,7 @@ export const Input_Template_UserChatInput: FlowNodeInputItemType = { renderTypeList: [FlowNodeInputTypeEnum.reference, FlowNodeInputTypeEnum.textarea], valueType: WorkflowIOValueTypeEnum.string, label: i18nT('workflow:user_question'), - toolDescription: i18nT('workflow:user_question'), + toolDescription: i18nT('workflow:user_question_tool_desc'), required: true }; diff --git a/packages/web/i18n/en/workflow.json b/packages/web/i18n/en/workflow.json index c3825b2840e..fea83cc4b75 100644 --- a/packages/web/i18n/en/workflow.json +++ b/packages/web/i18n/en/workflow.json @@ -149,6 +149,7 @@ "update_specified_node_output_or_global_variable": "Can update the output value of a specified node or update global variables", "use_user_id": "User ID", "user_question": "User Question", + "user_question_tool_desc": "User input questions (questions need to be improved)", "value_type": "Value type", "variable_picker_tips": "Type node name or variable name to search", "variable_update": "Variable Update", diff --git a/packages/web/i18n/zh/workflow.json b/packages/web/i18n/zh/workflow.json index 91e596e43bf..6382079d8cd 100644 --- a/packages/web/i18n/zh/workflow.json +++ b/packages/web/i18n/zh/workflow.json @@ -155,6 +155,7 @@ "update_specified_node_output_or_global_variable": "可以更新指定节点的输出值或更新全局变量", "use_user_id": "使用者 ID", "user_question": "用户问题", + "user_question_tool_desc": "用户输入的问题(问题需要完善)", "value_type": "数据类型", "variable_picker_tips": "可输入节点名或变量名搜索", "variable_update": "变量更新", From 20b16ee0cb3d39c9a71c9432f9fc75f4a70fb3dc Mon Sep 17 00:00:00 2001 From: archer <545436317@qq.com> Date: Mon, 23 Sep 2024 17:37:56 +0800 Subject: [PATCH 4/7] fix: simple mode load app module --- packages/global/core/app/utils.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/global/core/app/utils.ts b/packages/global/core/app/utils.ts index 9821d54805b..16153a4af60 100644 --- a/packages/global/core/app/utils.ts +++ b/packages/global/core/app/utils.ts @@ -97,7 +97,10 @@ export const appWorkflow2Form = ({ node.inputs, NodeInputKeyEnum.datasetSearchExtensionBg ); - } else if (node.flowNodeType === FlowNodeTypeEnum.pluginModule) { + } else if ( + node.flowNodeType === FlowNodeTypeEnum.pluginModule || + node.flowNodeType === FlowNodeTypeEnum.appModule + ) { if (!node.pluginId) return; defaultAppForm.selectedTools.push({ From 29827e5d36a68f969322331c5d925c1d2f3173d9 Mon Sep 17 00:00:00 2001 From: archer <545436317@qq.com> Date: Mon, 23 Sep 2024 18:10:43 +0800 Subject: [PATCH 5/7] perf: simple mode plugin version --- packages/global/core/app/utils.ts | 2 +- .../global/core/workflow/template/constants.ts | 4 ++-- .../template/system/readFiles/index.tsx | 2 +- projects/app/src/web/core/app/utils.ts | 18 +++++++++--------- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/packages/global/core/app/utils.ts b/packages/global/core/app/utils.ts index 16153a4af60..c574cac5f90 100644 --- a/packages/global/core/app/utils.ts +++ b/packages/global/core/app/utils.ts @@ -111,7 +111,7 @@ export const appWorkflow2Form = ({ intro: node.intro || '', flowNodeType: node.flowNodeType, showStatus: node.showStatus, - version: '481', + version: node.version, inputs: node.inputs, outputs: node.outputs, templateType: FlowNodeTemplateTypeEnum.other diff --git a/packages/global/core/workflow/template/constants.ts b/packages/global/core/workflow/template/constants.ts index 76439e3b3fd..f4da162f135 100644 --- a/packages/global/core/workflow/template/constants.ts +++ b/packages/global/core/workflow/template/constants.ts @@ -27,7 +27,7 @@ import { VariableUpdateNode } from './system/variableUpdate'; import { CodeNode } from './system/sandbox'; import { TextEditorNode } from './system/textEditor'; import { CustomFeedbackNode } from './system/customFeedback'; -import { ReadFilesNodes } from './system/readFiles'; +import { ReadFilesNode } from './system/readFiles'; import { UserSelectNode } from './system/userSelect/index'; import { LoopNode } from './system/loop/loop'; import { LoopStartNode } from './system/loop/loopStart'; @@ -43,7 +43,7 @@ const systemNodes: FlowNodeTemplateType[] = [ StopToolNode, ClassifyQuestionModule, ContextExtractModule, - ReadFilesNodes, + ReadFilesNode, HttpNode468, AiQueryExtension, LafModule, diff --git a/packages/global/core/workflow/template/system/readFiles/index.tsx b/packages/global/core/workflow/template/system/readFiles/index.tsx index cbff1d21940..8018eda7443 100644 --- a/packages/global/core/workflow/template/system/readFiles/index.tsx +++ b/packages/global/core/workflow/template/system/readFiles/index.tsx @@ -13,7 +13,7 @@ import { import { FlowNodeTemplateType } from '../../../type/node'; import { getHandleConfig } from '../../utils'; -export const ReadFilesNodes: FlowNodeTemplateType = { +export const ReadFilesNode: FlowNodeTemplateType = { id: FlowNodeTypeEnum.readFiles, templateType: FlowNodeTemplateTypeEnum.tools, flowNodeType: FlowNodeTypeEnum.readFiles, diff --git a/projects/app/src/web/core/app/utils.ts b/projects/app/src/web/core/app/utils.ts index 35c7f01ff50..69c09b97724 100644 --- a/projects/app/src/web/core/app/utils.ts +++ b/projects/app/src/web/core/app/utils.ts @@ -29,7 +29,7 @@ import { AiChatQuoteTemplate } from '@fastgpt/global/core/workflow/template/system/aiChat/index'; import { DatasetSearchModule } from '@fastgpt/global/core/workflow/template/system/datasetSearch'; -import { ReadFilesNodes } from '@fastgpt/global/core/workflow/template/system/readFiles'; +import { ReadFilesNode } from '@fastgpt/global/core/workflow/template/system/readFiles'; import { i18nT } from '@fastgpt/web/i18n/utils'; import { Input_Template_UserChatInput } from '@fastgpt/global/core/workflow/template/input'; @@ -325,17 +325,17 @@ export function form2AppWorkflow( ? { nodes: [ { - nodeId: ReadFilesNodes.id, - name: t(ReadFilesNodes.name), - intro: t(ReadFilesNodes.intro), - avatar: ReadFilesNodes.avatar, - flowNodeType: ReadFilesNodes.flowNodeType, + nodeId: ReadFilesNode.id, + name: t(ReadFilesNode.name), + intro: t(ReadFilesNode.intro), + avatar: ReadFilesNode.avatar, + flowNodeType: ReadFilesNode.flowNodeType, showStatus: true, position: { x: 974.6209854328943, y: 587.6378828744465 }, - version: '489', + version: ReadFilesNode.version, inputs: [ { key: NodeInputKeyEnum.fileUrlList, @@ -345,13 +345,13 @@ export function form2AppWorkflow( value: [workflowStartNodeId, 'userFiles'] } ], - outputs: ReadFilesNodes.outputs + outputs: ReadFilesNode.outputs } ], edges: [ { source: toolNodeId, - target: ReadFilesNodes.id, + target: ReadFilesNode.id, sourceHandle: 'selectedTools', targetHandle: 'selectedTools' } From 89a77ddf05adb6302ac73b838ea76b8e0c411f2e Mon Sep 17 00:00:00 2001 From: archer <545436317@qq.com> Date: Mon, 23 Sep 2024 18:25:35 +0800 Subject: [PATCH 6/7] perf: share page reload --- projects/app/src/pages/chat/share.tsx | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/projects/app/src/pages/chat/share.tsx b/projects/app/src/pages/chat/share.tsx index 7c577f29db6..84bfb45ab58 100644 --- a/projects/app/src/pages/chat/share.tsx +++ b/projects/app/src/pages/chat/share.tsx @@ -49,10 +49,7 @@ type Props = { }; const OutLink = ({ - outLinkUid, - appName, - appIntro, - appAvatar + outLinkUid }: Props & { outLinkUid: string; }) => { @@ -232,8 +229,6 @@ const OutLink = ({ return ( <> - - { const { shareId, authToken } = props; const { localUId, loaded } = useShareChatStore(); + const [isLoaded, setIsLoaded] = useState(false); const contextParams = useMemo(() => { return { shareId, outLinkUid: authToken || localUId }; }, [authToken, localUId, shareId]); - if (!loaded || !contextParams.outLinkUid) return <>; + useMount(() => { + setIsLoaded(true); + }); + const systemLoaded = isLoaded && loaded && contextParams.outLinkUid; return ( - - ; - + <> + + {systemLoaded && ( + + ; + + )} + ); }; From af4592ed6382d4ca8a0207c3fde911d5dfd6c997 Mon Sep 17 00:00:00 2001 From: archer <545436317@qq.com> Date: Mon, 23 Sep 2024 23:49:49 +0800 Subject: [PATCH 7/7] refresh simple mode data --- .../app/src/pages/app/detail/components/SimpleApp/Header.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/projects/app/src/pages/app/detail/components/SimpleApp/Header.tsx b/projects/app/src/pages/app/detail/components/SimpleApp/Header.tsx index 0e44ca505ae..407947577b2 100644 --- a/projects/app/src/pages/app/detail/components/SimpleApp/Header.tsx +++ b/projects/app/src/pages/app/detail/components/SimpleApp/Header.tsx @@ -24,6 +24,7 @@ import { useSystem } from '@fastgpt/web/hooks/useSystem'; import { useToast } from '@fastgpt/web/hooks/useToast'; import { formatTime2YMDHMS } from '@fastgpt/global/common/string/time'; import { useSystemStore } from '@/web/common/system/useSystemStore'; +import { useDatasetStore } from '@/web/core/dataset/store/dataset'; const Header = ({ appForm, @@ -38,6 +39,7 @@ const Header = ({ const { toast } = useToast(); const { appId, appDetail, onSaveApp, currentTab } = useContextSelector(AppContext, (v) => v); const { lastAppListRouteType } = useSystemStore(); + const { allDatasets } = useDatasetStore(); const { data: paths = [] } = useRequest2(() => getAppFolderPath(appId), { manual: false, @@ -70,7 +72,7 @@ const Header = ({ chatConfig: data.chatConfig } ); - }, [appDetail.chatConfig, appDetail.modules, appForm, t]); + }, [appDetail.chatConfig, appDetail.modules, appForm, allDatasets, t]); const onSubmitPublish = useCallback( async (data: AppSimpleEditFormType) => {