feat: default message

This commit is contained in:
archer 2023-08-07 13:48:53 +08:00
parent 89036f8aec
commit 90406fce9e
No known key found for this signature in database
GPG Key ID: 569A5660D2379E28
3 changed files with 29 additions and 19 deletions

View File

@ -22,7 +22,8 @@
"contextMaxToken": 4000, "contextMaxToken": 4000,
"quoteMaxToken": 2000, "quoteMaxToken": 2000,
"maxTemperature": 1.2, "maxTemperature": 1.2,
"price": 1.5 "price": 1.5,
"defaultSystem": ""
}, },
{ {
"model": "gpt-3.5-turbo-16k", "model": "gpt-3.5-turbo-16k",
@ -30,15 +31,8 @@
"contextMaxToken": 16000, "contextMaxToken": 16000,
"quoteMaxToken": 8000, "quoteMaxToken": 8000,
"maxTemperature": 1.2, "maxTemperature": 1.2,
"price": 3 "price": 3,
}, "defaultSystem": ""
{
"model": "ERNIE-Bot",
"name": "文心一言",
"contextMaxToken": 3000,
"quoteMaxToken": 1500,
"maxTemperature": 1,
"price": 1.2
}, },
{ {
"model": "gpt-4", "model": "gpt-4",
@ -46,7 +40,8 @@
"contextMaxToken": 8000, "contextMaxToken": 8000,
"quoteMaxToken": 4000, "quoteMaxToken": 4000,
"maxTemperature": 1.2, "maxTemperature": 1.2,
"price": 45 "price": 45,
"defaultSystem": ""
} }
], ],
"QAModels": [ "QAModels": [

View File

@ -16,6 +16,7 @@ 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'; import { textCensor } from '@/service/api/plugins';
import { ChatCompletionRequestMessageRoleEnum } from 'openai';
export type ChatProps = { export type ChatProps = {
res: NextApiResponse; res: NextApiResponse;
@ -66,13 +67,15 @@ export const dispatchChatCompletion = async (props: Record<string, any>): Promis
model: modelConstantsData model: modelConstantsData
}); });
await textCensor({ if (modelConstantsData.censor) {
text: `${systemPrompt} await textCensor({
${quotePrompt} text: `${systemPrompt}
${limitPrompt} ${quotePrompt}
${userChatInput} ${limitPrompt}
` ${userChatInput}
}); `
});
}
const { messages, filterMessages } = getChatMessages({ const { messages, filterMessages } = getChatMessages({
model: modelConstantsData, model: modelConstantsData,
@ -98,7 +101,17 @@ export const dispatchChatCompletion = async (props: Record<string, any>): Promis
model, model,
temperature, temperature,
max_tokens, max_tokens,
messages, messages: [
...(modelConstantsData.defaultSystem
? [
{
role: ChatCompletionRequestMessageRoleEnum.System,
content: modelConstantsData.defaultSystem
}
]
: []),
...messages
],
// frequency_penalty: 0.5, // 越大,重复内容越少 // frequency_penalty: 0.5, // 越大,重复内容越少
// presence_penalty: -0.5, // 越大,越容易出现新内容 // presence_penalty: -0.5, // 越大,越容易出现新内容
stream stream

View File

@ -5,6 +5,8 @@ export type ChatModelItemType = {
quoteMaxToken: number; quoteMaxToken: number;
maxTemperature: number; maxTemperature: number;
price: number; price: number;
censor?: boolean;
defaultSystem?: string;
}; };
export type QAModelItemType = { export type QAModelItemType = {
model: string; model: string;