content censor

This commit is contained in:
archer
2023-08-05 13:26:48 +08:00
parent 8d3ad943be
commit 236e7d3c3f
5 changed files with 23 additions and 9 deletions

View File

@@ -414,13 +414,13 @@ function loadModules(
}); });
} }
function responseStatus({ export function responseStatus({
res, res,
status, status,
name name
}: { }: {
res: NextApiResponse; res: NextApiResponse;
status: 'running' | 'finish'; status?: 'running' | 'finish';
name?: string; name?: string;
}) { }) {
if (!name) return; if (!name) return;
@@ -428,7 +428,7 @@ function responseStatus({
res, res,
event: sseResponseEventEnum.moduleStatus, event: sseResponseEventEnum.moduleStatus,
data: JSON.stringify({ data: JSON.stringify({
status, status: 'running',
name name
}) })
}); });

View File

@@ -3,3 +3,8 @@ import type { SendCodeBody, AuthCodeBody } from './plugins.d';
export const sendCode = (data: SendCodeBody) => POST(global.systemPlugins.authCode?.sendUrl, data); export const sendCode = (data: SendCodeBody) => POST(global.systemPlugins.authCode?.sendUrl, data);
export const authCode = (data: AuthCodeBody) => POST(global.systemPlugins.authCode?.authUrl, data); export const authCode = (data: AuthCodeBody) => POST(global.systemPlugins.authCode?.authUrl, data);
export const textCensor = (data: { text: string }) => {
if (!global.systemPlugins.censor?.textUrl) return;
return POST(global.systemPlugins.censor?.textUrl, data);
};

View File

@@ -109,21 +109,21 @@ function request(url: string, data: any, config: ConfigType, method: Method): an
* @returns * @returns
*/ */
export function GET<T>(url?: string, params = {}, config: ConfigType = {}): Promise<T> { export function GET<T>(url?: string, params = {}, config: ConfigType = {}): Promise<T> {
if (!url) return Promise.reject('no url'); if (!url) return Promise.reject('The Plugin is not installed');
return request(url, params, config, 'GET'); return request(url, params, config, 'GET');
} }
export function POST<T>(url?: string, data = {}, config: ConfigType = {}): Promise<T> { export function POST<T>(url?: string, data = {}, config: ConfigType = {}): Promise<T> {
if (!url) return Promise.reject('no url'); if (!url) return Promise.reject('The Plugin is not installed');
return request(url, data, config, 'POST'); return request(url, data, config, 'POST');
} }
export function PUT<T>(url?: string, data = {}, config: ConfigType = {}): Promise<T> { export function PUT<T>(url?: string, data = {}, config: ConfigType = {}): Promise<T> {
if (!url) return Promise.reject('no url'); if (!url) return Promise.reject('The Plugin is not installed');
return request(url, data, config, 'PUT'); return request(url, data, config, 'PUT');
} }
export function DELETE<T>(url?: string, data = {}, config: ConfigType = {}): Promise<T> { export function DELETE<T>(url?: string, data = {}, config: ConfigType = {}): Promise<T> {
if (!url) return Promise.reject('no url'); if (!url) return Promise.reject('The Plugin is not installed');
return request(url, data, config, 'DELETE'); return request(url, data, config, 'DELETE');
} }

View File

@@ -15,6 +15,7 @@ import { getChatModel } from '@/service/utils/data';
import { countModelPrice } from '@/service/events/pushBill'; import { countModelPrice } from '@/service/events/pushBill';
import { ChatModelItemType } from '@/types/model'; import { ChatModelItemType } from '@/types/model';
import { UserModelSchema } from '@/types/mongoSchema'; import { UserModelSchema } from '@/types/mongoSchema';
import { textCensor } from '@/service/api/plugins';
export type ChatProps = { export type ChatProps = {
res: NextApiResponse; res: NextApiResponse;
@@ -63,6 +64,14 @@ export const dispatchChatCompletion = async (props: Record<string, any>): Promis
model: modelConstantsData model: modelConstantsData
}); });
await textCensor({
text: `${systemPrompt}
${quotePrompt}
${limitPrompt}
${userChatInput}
`
});
const { messages, filterMessages } = getChatMessages({ const { messages, filterMessages } = getChatMessages({
model: modelConstantsData, model: modelConstantsData,
history, history,

View File

@@ -37,8 +37,8 @@ export type PluginType = {
sendUrl: string; sendUrl: string;
authUrl: string; authUrl: string;
}; };
moderationsCheck?: { censor?: {
url: string; textUrl?: string;
}; };
}; };