From 02d6b7c7882d4e83bf3aade4b4eeae67fa7d8ff0 Mon Sep 17 00:00:00 2001 From: Archer <545436317@qq.com> Date: Mon, 12 Aug 2024 12:09:14 +0800 Subject: [PATCH] 4.8.9 test fix (#2330) * perf: query extension prompt * perf: get preview histories * perf: i18n * fix: share page cannot feedback * fix: publish i18n --- packages/global/common/string/tools.ts | 6 +++++- packages/global/core/chat/utils.ts | 12 +++++------- packages/service/core/ai/functions/queryExtension.ts | 4 ++-- .../workflow/dispatch/agent/runTool/functionCall.ts | 2 +- .../core/workflow/dispatch/agent/runTool/index.ts | 2 +- .../workflow/dispatch/agent/runTool/promptCall.ts | 2 +- .../workflow/dispatch/agent/runTool/toolChoice.ts | 2 +- .../service/core/workflow/dispatch/chat/oneapi.ts | 2 +- packages/web/i18n/en/common.json | 3 ++- packages/web/i18n/zh/common.json | 5 ++--- projects/app/package.json | 2 +- .../src/pages/app/detail/components/constants.tsx | 4 ++-- projects/app/src/pages/chat/share.tsx | 10 ++++++++-- projects/app/src/pages/chat/team.tsx | 9 ++++++++- 14 files changed, 40 insertions(+), 25 deletions(-) diff --git a/packages/global/common/string/tools.ts b/packages/global/common/string/tools.ts index cee5c800d..add484b47 100644 --- a/packages/global/common/string/tools.ts +++ b/packages/global/common/string/tools.ts @@ -94,7 +94,11 @@ export const sliceJsonStr = (str: string) => { export const sliceStrStartEnd = (str: string, start: number, end: number) => { const overSize = str.length > start + end; + + if (!overSize) return str; + const startContent = str.slice(0, start); const endContent = overSize ? str.slice(-end) : ''; - return startContent + (overSize ? ` ...... ` : '') + endContent; + + return `${startContent}${overSize ? `\n\n...[hide ${str.length - start - end} chars]...\n\n` : ''}${endContent}`; }; diff --git a/packages/global/core/chat/utils.ts b/packages/global/core/chat/utils.ts index 0b0386fb2..72774f1e4 100644 --- a/packages/global/core/chat/utils.ts +++ b/packages/global/core/chat/utils.ts @@ -28,13 +28,15 @@ export const getChatTitleFromChatMessage = (message?: ChatItemType, defaultValue // Keep the first n and last n characters export const getHistoryPreview = ( - completeMessages: ChatItemType[] + completeMessages: ChatItemType[], + size = 100 ): { obj: `${ChatRoleEnum}`; value: string; }[] => { return completeMessages.map((item, i) => { - const n = item.obj === ChatRoleEnum.System || i >= completeMessages.length - 2 ? 80 : 40; + const n = + (item.obj === ChatRoleEnum.System && i === 0) || i >= completeMessages.length - 2 ? size : 50; // Get message text content const rawText = (() => { @@ -65,13 +67,9 @@ export const getHistoryPreview = ( return ''; })(); - const startContent = rawText.slice(0, n); - const endContent = rawText.length > 2 * n ? rawText.slice(-n) : ''; - const content = startContent + (rawText.length > n ? ` ...... ` : '') + endContent; - return { obj: item.obj, - value: sliceStrStartEnd(content, 80, 80) + value: sliceStrStartEnd(rawText, n, n) }; }); }; diff --git a/packages/service/core/ai/functions/queryExtension.ts b/packages/service/core/ai/functions/queryExtension.ts index acc0e02e2..c316d61eb 100644 --- a/packages/service/core/ai/functions/queryExtension.ts +++ b/packages/service/core/ai/functions/queryExtension.ts @@ -11,7 +11,7 @@ import { chatValue2RuntimePrompt } from '@fastgpt/global/core/chat/adapt'; */ const defaultPrompt = `作为一个向量检索助手,你的任务是结合历史记录,从不同角度,为“原问题”生成个不同版本的“检索词”,从而提高向量检索的语义丰富度,提高向量检索的精度。生成的问题要求指向对象清晰明确,并与“原问题语言相同”。 -下面的 标签对中的示例仅供你学习,请勿在无历史记录的情况下,引用示例中的词。 +参考 标中的示例来完成任务。 历史记录: @@ -92,7 +92,7 @@ A: Laf 是一个云函数开发平台。 ---------------- -我们开始吧! +下面是正式的任务: 历史记录: """ diff --git a/packages/service/core/workflow/dispatch/agent/runTool/functionCall.ts b/packages/service/core/workflow/dispatch/agent/runTool/functionCall.ts index 1f6119f95..c4cefa2a3 100644 --- a/packages/service/core/workflow/dispatch/agent/runTool/functionCall.ts +++ b/packages/service/core/workflow/dispatch/agent/runTool/functionCall.ts @@ -226,7 +226,7 @@ export const runToolWithFunctionCall = async ( toolName: '', toolAvatar: '', params: '', - response: sliceStrStartEnd(stringToolResponse, 300, 300) + response: sliceStrStartEnd(stringToolResponse, 500, 500) } }) }); diff --git a/packages/service/core/workflow/dispatch/agent/runTool/index.ts b/packages/service/core/workflow/dispatch/agent/runTool/index.ts index 8b6449450..c7fea6411 100644 --- a/packages/service/core/workflow/dispatch/agent/runTool/index.ts +++ b/packages/service/core/workflow/dispatch/agent/runTool/index.ts @@ -204,7 +204,7 @@ export const dispatchRunTools = async (props: DispatchToolModuleProps): Promise< toolCallTokens: totalTokens, model: modelName, query: userChatInput, - historyPreview: getHistoryPreview(GPTMessages2Chats(completeMessages, false)), + historyPreview: getHistoryPreview(GPTMessages2Chats(completeMessages, false), 10000), toolDetail: childToolResponse }, [DispatchNodeResponseKeyEnum.nodeDispatchUsages]: [ diff --git a/packages/service/core/workflow/dispatch/agent/runTool/promptCall.ts b/packages/service/core/workflow/dispatch/agent/runTool/promptCall.ts index 557078bdc..8e6d11fb5 100644 --- a/packages/service/core/workflow/dispatch/agent/runTool/promptCall.ts +++ b/packages/service/core/workflow/dispatch/agent/runTool/promptCall.ts @@ -255,7 +255,7 @@ export const runToolWithPromptCall = async ( toolName: '', toolAvatar: '', params: '', - response: sliceStrStartEnd(stringToolResponse, 300, 300) + response: sliceStrStartEnd(stringToolResponse, 500, 500) } }) }); diff --git a/packages/service/core/workflow/dispatch/agent/runTool/toolChoice.ts b/packages/service/core/workflow/dispatch/agent/runTool/toolChoice.ts index 7f34c4646..47c1adc57 100644 --- a/packages/service/core/workflow/dispatch/agent/runTool/toolChoice.ts +++ b/packages/service/core/workflow/dispatch/agent/runTool/toolChoice.ts @@ -235,7 +235,7 @@ export const runToolWithToolChoice = async ( toolName: '', toolAvatar: '', params: '', - response: sliceStrStartEnd(stringToolResponse, 300, 300) + response: sliceStrStartEnd(stringToolResponse, 500, 500) } }) }); diff --git a/packages/service/core/workflow/dispatch/chat/oneapi.ts b/packages/service/core/workflow/dispatch/chat/oneapi.ts index fc5e50585..f0291bc5c 100644 --- a/packages/service/core/workflow/dispatch/chat/oneapi.ts +++ b/packages/service/core/workflow/dispatch/chat/oneapi.ts @@ -221,7 +221,7 @@ export const dispatchChatCompletion = async (props: ChatProps): Promise { } = useChat(); const startChat = useCallback( - async ({ messages, controller, generatingMessage, variables }: StartChatFnProps) => { + async ({ + messages, + controller, + generatingMessage, + variables, + responseChatItemId + }: StartChatFnProps) => { const completionChatId = chatId || getNanoid(); const histories = messages.slice(-1); @@ -119,6 +124,7 @@ const OutLink = ({ appName, appIntro, appAvatar }: Props) => { ...variables, ...customVariables }, + responseChatItemId, shareId, chatId: completionChatId, appType: chatData.app.type, diff --git a/projects/app/src/pages/chat/team.tsx b/projects/app/src/pages/chat/team.tsx index c3e023d4a..9d613e875 100644 --- a/projects/app/src/pages/chat/team.tsx +++ b/projects/app/src/pages/chat/team.tsx @@ -79,7 +79,13 @@ const Chat = ({ myApps }: { myApps: AppListItemType[] }) => { } = useChat(); const startChat = useCallback( - async ({ messages, controller, generatingMessage, variables }: StartChatFnProps) => { + async ({ + messages, + controller, + generatingMessage, + variables, + responseChatItemId + }: StartChatFnProps) => { const completionChatId = chatId || getNanoid(); // Just send a user prompt const histories = messages.slice(-1); @@ -91,6 +97,7 @@ const Chat = ({ myApps }: { myApps: AppListItemType[] }) => { ...variables, ...customVariables }, + responseChatItemId, appId, teamId, teamToken,