Skip to content

Commit

Permalink
perf: code
Browse files Browse the repository at this point in the history
  • Loading branch information
c121914yu committed Sep 1, 2023
1 parent 68cdf50 commit 23cc2f8
Show file tree
Hide file tree
Showing 8 changed files with 61 additions and 68 deletions.
2 changes: 1 addition & 1 deletion client/public/locales/zh/common.json
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@
},
"dataset": {
"Confirm to delete the data": "确认删除该数据?",
"Queue Desc": "该数据是指整个系统当前待训练的数量。FastGPT 采用排队训练的方式,如果待训练的数据过多,可能需要等待一段时间",
"Queue Desc": "该数据是指整个系统当前待训练的数量。{{title}} 采用排队训练的方式,如果待训练的数据过多,可能需要等待一段时间",
"System Data Queue": "排队长度"
},
"file": {
Expand Down
2 changes: 2 additions & 0 deletions client/src/pages/api/system/getInitData.ts
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,8 @@ const defaultVectorModels: VectorModelItemType[] = [

export async function getInitConfig() {
try {
if (global.feConfigs) return;

const filename =
process.env.NODE_ENV === 'development' ? 'data/config.local.json' : '/app/data/config.json';
const res = JSON.parse(readFileSync(filename, 'utf-8'));
Expand Down
6 changes: 5 additions & 1 deletion client/src/pages/kb/detail/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import { useTranslation } from 'react-i18next';
import { getTrainingQueueLen } from '@/api/plugins/kb';
import MyTooltip from '@/components/MyTooltip';
import { QuestionOutlineIcon } from '@chakra-ui/icons';
import { feConfigs } from '@/store/static';

const ImportData = dynamic(() => import('./components/Import'), {
ssr: false
Expand Down Expand Up @@ -119,7 +120,10 @@ const Detail = ({ kbId, currentTab }: { kbId: string; currentTab: `${TabEnum}` }
<Flex justifyContent={'center'} alignItems={'center'}>
<MyIcon mr={1} name="overviewLight" w={'16px'} color={'green.500'} />
<Box>{t('dataset.System Data Queue')}</Box>
<MyTooltip label={t('dataset.Queue Desc')} placement={'top'}>
<MyTooltip
label={t('dataset.Queue Desc', { title: feConfigs?.systemTitle })}
placement={'top'}
>
<QuestionOutlineIcon ml={1} w={'16px'} />
</MyTooltip>
</Flex>
Expand Down
6 changes: 3 additions & 3 deletions client/src/service/events/pushBill.ts
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ export const updateShareChatBill = async ({
}
);
} catch (err) {
addLog.error('update shareChat error', { err });
addLog.error('update shareChat error', err);
}
};

Expand Down Expand Up @@ -111,7 +111,7 @@ export const pushQABill = async ({
$inc: { balance: -total }
});
} catch (err) {
addLog.error('Create completions bill error', { err });
addLog.error('Create completions bill error', err);
billId && Bill.findByIdAndDelete(billId);
}
};
Expand Down Expand Up @@ -160,7 +160,7 @@ export const pushGenerateVectorBill = async ({
$inc: { balance: -total }
});
} catch (err) {
addLog.error('Create generateVector bill error', { err });
addLog.error('Create generateVector bill error', err);
billId && Bill.findByIdAndDelete(billId);
}
} catch (error) {
Expand Down
30 changes: 3 additions & 27 deletions client/src/service/mongo.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,8 @@ import { startQueue } from './utils/tools';
import { getInitConfig } from '@/pages/api/system/getInitData';
import { User } from './models/user';
import { PRICE_SCALE } from '@/constants/common';
import { connectPg, PgClient } from './pg';
import { initPg } from './pg';
import { createHashPassword } from '@/utils/tools';
import { PgTrainingTableName } from '@/constants/plugin';
import { createLogger, format, transports } from 'winston';
import 'winston-mongodb';

Expand Down Expand Up @@ -81,9 +80,9 @@ function initLogger() {
format.printf((info) => {
if (info.level === 'error') {
console.log(info.meta);
return `${info.level}: ${[info.timestamp]}: ${info.message}`;
return `[${info.level.toLocaleUpperCase()}]: ${[info.timestamp]}: ${info.message}`;
}
return `${info.level}: ${[info.timestamp]}: ${info.message}${
return `[${info.level.toLocaleUpperCase()}]: ${[info.timestamp]}: ${info.message}${
info.meta ? `: ${JSON.stringify(info.meta)}` : ''
}`;
})
Expand Down Expand Up @@ -123,29 +122,6 @@ async function initRootUser() {
console.log('init root user error', error);
}
}
async function initPg() {
try {
await connectPg();
await PgClient.query(`
CREATE EXTENSION IF NOT EXISTS vector;
CREATE TABLE IF NOT EXISTS ${PgTrainingTableName} (
id BIGSERIAL PRIMARY KEY,
vector VECTOR(1536) NOT NULL,
user_id VARCHAR(50) NOT NULL,
kb_id VARCHAR(50) NOT NULL,
source VARCHAR(100),
q TEXT NOT NULL,
a TEXT NOT NULL
);
CREATE INDEX IF NOT EXISTS modelData_userId_index ON ${PgTrainingTableName} USING HASH (user_id);
CREATE INDEX IF NOT EXISTS modelData_kbId_index ON ${PgTrainingTableName} USING HASH (kb_id);
CREATE INDEX IF NOT EXISTS idx_model_data_md5_q_a_user_id_kb_id ON ${PgTrainingTableName} (md5(q), md5(a), user_id, kb_id);
`);
console.log('init pg successful');
} catch (error) {
console.log('init pg error', error);
}
}

export * from './models/chat';
export * from './models/chatItem';
Expand Down
26 changes: 26 additions & 0 deletions client/src/service/pg.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import { Pool } from 'pg';
import type { QueryResultRow } from 'pg';
import { PgTrainingTableName } from '@/constants/plugin';
import { exit } from 'process';
import { addLog } from './utils/tools';

export const connectPg = async (): Promise<Pool> => {
if (global.pgClient) {
Expand Down Expand Up @@ -184,3 +186,27 @@ export const insertKbItem = ({
])
});
};

export async function initPg() {
try {
await connectPg();
await PgClient.query(`
CREATE EXTENSION IF NOT EXISTS vector;
CREATE TABLE IF NOT EXISTS ${PgTrainingTableName} (
id BIGSERIAL PRIMARY KEY,
vector VECTOR(1536) NOT NULL,
user_id VARCHAR(50) NOT NULL,
kb_id VARCHAR(50) NOT NULL,
source VARCHAR(100),
q TEXT NOT NULL,
a TEXT NOT NULL
);
CREATE INDEX IF NOT EXISTS modelData_userId_index ON ${PgTrainingTableName} USING HASH (user_id);
CREATE INDEX IF NOT EXISTS modelData_kbId_index ON ${PgTrainingTableName} USING HASH (kb_id);
CREATE INDEX IF NOT EXISTS idx_model_data_md5_q_a_user_id_kb_id ON ${PgTrainingTableName} (md5(q), md5(a), user_id, kb_id);
`);
console.log('init pg successful');
} catch (error) {
addLog.error('init pg error', error);
}
}
36 changes: 2 additions & 34 deletions client/src/service/response.ts
Original file line number Diff line number Diff line change
Expand Up @@ -53,23 +53,7 @@ export const jsonRes = <T = any>(
msg = openaiError[error.response.statusText];
}

addLog.error(msg, {
message: msg,
stack: error?.stack,
...(error?.config && {
config: {
headers: error.config.headers,
url: error.config.url,
data: error.config.data
}
}),
...(error?.response && {
response: {
status: error.response.status,
statusText: error.response.statusText
}
})
});
addLog.error(`response error: ${msg}`, error);
}

res.status(code).json({
Expand Down Expand Up @@ -110,23 +94,7 @@ export const sseErrRes = (res: NextApiResponse, error: any) => {
msg = openaiError[error.response.statusText];
}

addLog.error(`sse error: ${msg}`, {
message: msg,
stack: error?.stack,
...(error?.config && {
config: {
headers: error.config.headers,
url: error.config.url,
data: error.config.data
}
}),
...(error?.response && {
response: {
status: error.response.status,
statusText: error.response.statusText
}
})
});
addLog.error(`sse error: ${msg}`, error);

sseResponse({
res,
Expand Down
21 changes: 19 additions & 2 deletions client/src/service/utils/tools.ts
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,24 @@ export const addLog = {
info: (msg: string, obj?: Record<string, any>) => {
global.logger?.info(msg, { meta: obj });
},
error: (msg: string, obj?: Record<string, any>) => {
global.logger?.error(msg, { meta: obj });
error: (msg: string, error?: any) => {
global.logger?.error(msg, {
meta: {
stack: error?.stack,
...(error?.config && {
config: {
headers: error.config.headers,
url: error.config.url,
data: error.config.data
}
}),
...(error?.response && {
response: {
status: error.response.status,
statusText: error.response.statusText
}
})
}
});
}
};

0 comments on commit 23cc2f8

Please sign in to comment.