diff --git a/client/src/pages/api/chat/chat.ts b/client/src/pages/api/chat/chat.ts index 90ded6770..25acb0c3e 100644 --- a/client/src/pages/api/chat/chat.ts +++ b/client/src/pages/api/chat/chat.ts @@ -10,7 +10,7 @@ import { resStreamResponse } from '@/service/utils/chat'; import { appKbSearch } from '../openapi/kb/appKbSearch'; import { ChatRoleEnum, QUOTE_LEN_HEADER, GUIDE_PROMPT_HEADER } from '@/constants/chat'; import { BillTypeEnum } from '@/constants/user'; -import { sensitiveCheck } from '@/service/api/text'; +import { sensitiveCheck } from '../openapi/text/sensitiveCheck'; import { NEW_CHATID_HEADER } from '@/constants/chat'; import { saveChat } from './saveChat'; import { Types } from 'mongoose'; diff --git a/client/src/pages/api/chat/shareChat/chat.ts b/client/src/pages/api/chat/shareChat/chat.ts index 63d569cf5..be2408c24 100644 --- a/client/src/pages/api/chat/shareChat/chat.ts +++ b/client/src/pages/api/chat/shareChat/chat.ts @@ -9,7 +9,7 @@ import { pushChatBill, updateShareChatBill } from '@/service/events/pushBill'; import { resStreamResponse } from '@/service/utils/chat'; import { ChatRoleEnum } from '@/constants/chat'; import { BillTypeEnum } from '@/constants/user'; -import { sensitiveCheck } from '@/service/api/text'; +import { sensitiveCheck } from '../../openapi/text/sensitiveCheck'; import { appKbSearch } from '../../openapi/kb/appKbSearch'; /* 发送提示词 */ diff --git a/client/src/pages/api/openapi/chat/chat.ts b/client/src/pages/api/openapi/chat/chat.ts index dcecbe173..740aa84ab 100644 --- a/client/src/pages/api/openapi/chat/chat.ts +++ b/client/src/pages/api/openapi/chat/chat.ts @@ -9,7 +9,7 @@ import { pushChatBill } from '@/service/events/pushBill'; import { ChatRoleEnum } from '@/constants/chat'; import { withNextCors } from '@/service/utils/tools'; import { BillTypeEnum } from '@/constants/user'; -import { sensitiveCheck } from '@/service/api/text'; +import { sensitiveCheck } from '../../openapi/text/sensitiveCheck'; import { NEW_CHATID_HEADER } from '@/constants/chat'; import { Types } from 'mongoose'; import { appKbSearch } from '../kb/appKbSearch'; diff --git a/client/src/pages/api/openapi/text/sensitiveCheck.ts b/client/src/pages/api/openapi/text/sensitiveCheck.ts index 90b305fc7..58b491c1a 100644 --- a/client/src/pages/api/openapi/text/sensitiveCheck.ts +++ b/client/src/pages/api/openapi/text/sensitiveCheck.ts @@ -2,43 +2,23 @@ import type { NextApiRequest, NextApiResponse } from 'next'; import { jsonRes } from '@/service/response'; import { authUser, getSystemOpenAiKey } from '@/service/utils/auth'; -import type { TextPluginRequestParams } from '@/types/plugin'; import axios from 'axios'; import { axiosConfig } from '@/service/utils/tools'; +export type Props = { + input: string; +}; + export default async function handler(req: NextApiRequest, res: NextApiResponse) { try { - if (!global.systemEnv.sensitiveCheck) { - return jsonRes(res); - } - await authUser({ req }); - const { input } = req.body as TextPluginRequestParams; + const result = await sensitiveCheck(req.body); - const response = await axios({ - ...axiosConfig(getSystemOpenAiKey('chat')), - method: 'POST', - url: `/moderations`, - data: { - input - } + jsonRes(res, { + data: result, + message: result }); - - const data = (response.data.results?.[0]?.category_scores as Record) || {}; - - const values = Object.values(data); - - for (const val of values) { - if (val > 0.2) { - return jsonRes(res, { - code: 500, - message: '您的内容不合规' - }); - } - } - - jsonRes(res); } catch (err) { jsonRes(res, { code: 500, @@ -46,3 +26,30 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse) }); } } + +export async function sensitiveCheck({ input }: Props) { + if (!global.systemEnv.sensitiveCheck) { + return Promise.resolve(''); + } + + const response = await axios({ + ...axiosConfig(getSystemOpenAiKey('chat')), + method: 'POST', + url: `/moderations`, + data: { + input + } + }); + + const data = (response.data.results?.[0]?.category_scores as Record) || {}; + + const values = Object.values(data); + + for (const val of values) { + if (val > 0.2) { + return Promise.reject('您的内容不合规'); + } + } + + return ''; +} diff --git a/client/src/service/api/text.ts b/client/src/service/api/text.ts deleted file mode 100644 index 33794aaaf..000000000 --- a/client/src/service/api/text.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { POST } from './request'; -import type { TextPluginRequestParams } from '@/types/plugin'; - -export const sensitiveCheck = (data: TextPluginRequestParams) => - POST('/openapi/text/sensitiveCheck', data); diff --git a/client/src/types/plugin.d.ts b/client/src/types/plugin.d.ts index 501530c25..7d175ee6a 100644 --- a/client/src/types/plugin.d.ts +++ b/client/src/types/plugin.d.ts @@ -19,7 +19,3 @@ export type KbTestItemType = { time: Date; results: (KbDataItemType & { score: number })[]; }; - -export type TextPluginRequestParams = { - input: string; -};