From 1094c65f2b36b758cf3745ace8c276895fcf07fe Mon Sep 17 00:00:00 2001 From: Archer <545436317@qq.com> Date: Thu, 13 Feb 2025 10:35:11 +0800 Subject: [PATCH] perf: http empty params (#3773) * model config * feat: normalization embedding * perf: http empty params * doc --- .../zh-cn/docs/development/upgrading/4821.md | 7 ++++--- packages/global/common/string/tools.ts | 2 +- packages/global/core/workflow/runtime/utils.ts | 3 +-- packages/service/core/ai/config/provider/Qwen.json | 7 +++++++ .../service/core/workflow/dispatch/chat/oneapi.ts | 4 ++-- .../core/workflow/dispatch/dataset/search.ts | 6 +++--- .../core/workflow/dispatch/tools/http468.ts | 14 +++++++------- .../Flow/nodes/NodeHttp/index.tsx | 1 - projects/app/src/pages/login/index.tsx | 2 +- 9 files changed, 26 insertions(+), 20 deletions(-) diff --git a/docSite/content/zh-cn/docs/development/upgrading/4821.md b/docSite/content/zh-cn/docs/development/upgrading/4821.md index 509694135..f0e235b0c 100644 --- a/docSite/content/zh-cn/docs/development/upgrading/4821.md +++ b/docSite/content/zh-cn/docs/development/upgrading/4821.md @@ -13,9 +13,10 @@ weight: 804 1. 新增 - 弃用/已删除的插件提示。 2. 新增 - 对话日志按来源分类、标题检索、导出功能。 -3. 新增 - LLM 模型支持 top_p, response_format, json_schema 参数。 -4. 新增 - Doubao1.5 模型预设。 -5. 新增 - 向量模型支持归一化配置,以便适配未归一化的向量模型,例如 Doubao 的 embedding 模型。 +3. 新增 - 全局变量支持拖拽排序。 +4. 新增 - LLM 模型支持 top_p, response_format, json_schema 参数。 +5. 新增 - Doubao1.5 模型预设。阿里 embedding3 预设。 +6. 新增 - 向量模型支持归一化配置,以便适配未归一化的向量模型,例如 Doubao 的 embedding 模型。 6. 新增 - AI 对话节点,支持输出思考过程结果,可用于其他节点引用。 7. 优化 - 模型未配置时错误提示。 8. 优化 - 适配非 Stream 模式思考输出。 diff --git a/packages/global/common/string/tools.ts b/packages/global/common/string/tools.ts index c44e145b1..4783543a0 100644 --- a/packages/global/common/string/tools.ts +++ b/packages/global/common/string/tools.ts @@ -26,7 +26,7 @@ export const simpleText = (text = '') => { }; export const valToStr = (val: any) => { - if (val === undefined) return 'undefined'; + if (val === undefined) return ''; if (val === null) return 'null'; if (typeof val === 'object') return JSON.stringify(val); diff --git a/packages/global/core/workflow/runtime/utils.ts b/packages/global/core/workflow/runtime/utils.ts index 27c819ba6..643733a7f 100644 --- a/packages/global/core/workflow/runtime/utils.ts +++ b/packages/global/core/workflow/runtime/utils.ts @@ -292,13 +292,12 @@ export const getReferenceVariableValue = ({ export const formatVariableValByType = (val: any, valueType?: WorkflowIOValueTypeEnum) => { if (!valueType) return val; + if (val === undefined || val === null) return; // Value type check, If valueType invalid, return undefined if (valueType.startsWith('array') && !Array.isArray(val)) return undefined; if (valueType === WorkflowIOValueTypeEnum.boolean) return Boolean(val); if (valueType === WorkflowIOValueTypeEnum.number) return Number(val); if (valueType === WorkflowIOValueTypeEnum.string) { - if (val === undefined) return 'undefined'; - if (val === null) return 'null'; return typeof val === 'object' ? JSON.stringify(val) : String(val); } if ( diff --git a/packages/service/core/ai/config/provider/Qwen.json b/packages/service/core/ai/config/provider/Qwen.json index c4c00efae..f9cef18e5 100644 --- a/packages/service/core/ai/config/provider/Qwen.json +++ b/packages/service/core/ai/config/provider/Qwen.json @@ -245,6 +245,13 @@ "showTopP": true, "showStopSign": true, "responseFormatList": ["text", "json_object"] + }, + { + "model": "text-embedding-v3", + "name": "text-embedding-v3", + "defaultToken": 512, + "maxToken": 8000, + "type": "embedding" } ] } diff --git a/packages/service/core/workflow/dispatch/chat/oneapi.ts b/packages/service/core/workflow/dispatch/chat/oneapi.ts index 1ede02afe..347d164ab 100644 --- a/packages/service/core/workflow/dispatch/chat/oneapi.ts +++ b/packages/service/core/workflow/dispatch/chat/oneapi.ts @@ -51,7 +51,7 @@ import { ModelTypeEnum } from '@fastgpt/global/core/ai/model'; export type ChatProps = ModuleDispatchProps< AIChatNodeProps & { - [NodeInputKeyEnum.userChatInput]: string; + [NodeInputKeyEnum.userChatInput]?: string; [NodeInputKeyEnum.history]?: ChatItemType[] | number; [NodeInputKeyEnum.aiChatDatasetQuote]?: SearchDataResponseItemType[]; } @@ -81,7 +81,7 @@ export const dispatchChatCompletion = async (props: ChatProps): Promise; [NodeInputKeyEnum.httpTimeout]?: number; @@ -76,10 +76,10 @@ export const dispatchHttp468Request = async (props: HttpRequestProps): Promise { router.push(navigateTo); }, 300); }, - [lastRoute, router, setUserInfo, llmModelList] + [setUserInfo, llmModelList?.length, lastRoute, toast, t, router] ); const DynamicComponent = useMemo(() => {