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

@@ -3,3 +3,8 @@ import type { SendCodeBody, AuthCodeBody } from './plugins.d';
export const sendCode = (data: SendCodeBody) => POST(global.systemPlugins.authCode?.sendUrl, 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
*/
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');
}
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');
}
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');
}
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');
}

View File

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