From e4aeee7be3e0342008cbba7bebc4f175b6d3541d Mon Sep 17 00:00:00 2001 From: archer <545436317@qq.com> Date: Wed, 14 Jun 2023 20:02:43 +0800 Subject: [PATCH] perf: token count --- client/src/pages/api/openapi/kb/pushData.ts | 17 ++++++++++------- client/src/pages/kb/components/Detail.tsx | 1 + client/src/service/pg.ts | 6 +++--- client/src/service/utils/chat/claude.ts | 2 +- client/src/service/utils/chat/openai.ts | 2 +- 5 files changed, 16 insertions(+), 12 deletions(-) diff --git a/client/src/pages/api/openapi/kb/pushData.ts b/client/src/pages/api/openapi/kb/pushData.ts index 39b10598f..59a7a1c62 100644 --- a/client/src/pages/api/openapi/kb/pushData.ts +++ b/client/src/pages/api/openapi/kb/pushData.ts @@ -76,14 +76,17 @@ export async function pushDataToKb({ data.forEach((item) => { const text = item.q + item.a; - // count token - const token = modelToolMap[OpenAiChatEnum.GPT35].countTokens({ - messages: [{ obj: 'System', value: item.q }] - }); + if (mode === TrainingModeEnum.qa) { + // count token + const token = modelToolMap[OpenAiChatEnum.GPT35].countTokens({ + messages: [{ obj: 'System', value: item.q }] + }); + if (token > modeMaxToken[TrainingModeEnum.qa]) { + return; + } + } - if (mode === TrainingModeEnum.qa && token > modeMaxToken[TrainingModeEnum.qa]) { - console.log('q is too long'); - } else if (!set.has(text)) { + if (!set.has(text)) { filterData.push(item); set.add(text); } diff --git a/client/src/pages/kb/components/Detail.tsx b/client/src/pages/kb/components/Detail.tsx index cd0bf0ac2..33a360691 100644 --- a/client/src/pages/kb/components/Detail.tsx +++ b/client/src/pages/kb/components/Detail.tsx @@ -40,6 +40,7 @@ const Detail = ({ kbId }: { kbId: string }) => { onSuccess(res) { kbId && setLastKbId(kbId); if (res) { + setCurrentTab(TabEnum.data); reset(res); BasicInfo.current?.initInput?.(res.tags); } diff --git a/client/src/service/pg.ts b/client/src/service/pg.ts index 8d817985c..e3179552a 100644 --- a/client/src/service/pg.ts +++ b/client/src/service/pg.ts @@ -12,9 +12,9 @@ export const connectPg = async () => { user: process.env.PG_USER, password: process.env.PG_PASSWORD, database: process.env.PG_DB_NAME, - max: 80, - idleTimeoutMillis: 60000, - connectionTimeoutMillis: 20000 + max: global.systemEnv.vectorMaxProcess + 10, + idleTimeoutMillis: 30000, + connectionTimeoutMillis: 5000 }); global.pgClient.on('error', (err) => { diff --git a/client/src/service/utils/chat/claude.ts b/client/src/service/utils/chat/claude.ts index 62ce95cc4..a31f8338a 100644 --- a/client/src/service/utils/chat/claude.ts +++ b/client/src/service/utils/chat/claude.ts @@ -24,7 +24,7 @@ export const claudChat = async ({ apiKey, messages, stream, chatId }: ChatComple headers: { Authorization: apiKey }, - timeout: stream ? 60000 : 240000, + timeout: stream ? 60000 : 480000, responseType: stream ? 'stream' : 'json' } ); diff --git a/client/src/service/utils/chat/openai.ts b/client/src/service/utils/chat/openai.ts index 703bd1747..f1d37b03f 100644 --- a/client/src/service/utils/chat/openai.ts +++ b/client/src/service/utils/chat/openai.ts @@ -42,7 +42,7 @@ export const chatResponse = async ({ stop: ['.!?。'] }, { - timeout: stream ? 60000 : 240000, + timeout: stream ? 60000 : 480000, responseType: stream ? 'stream' : 'json', ...axiosConfig(apiKey) }