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,