feat: support multiple system message

pull/551/head
Heng Zhong 2023-04-24 23:25:10 +08:00
rodzic 431e6f1989
commit 21dded5698
2 zmienionych plików z 13 dodań i 4 usunięć

Wyświetl plik

@ -19,7 +19,7 @@ export class ChatGPTAPI {
protected _apiOrg?: string
protected _debug: boolean
protected _systemMessage: string
protected _systemMessage: string | string[]
protected _completionParams: Omit<
types.openai.CreateChatCompletionRequest,
'messages' | 'n'
@ -368,13 +368,22 @@ export class ChatGPTAPI {
const maxNumTokens = this._maxModelTokens - this._maxResponseTokens
let messages: types.openai.ChatCompletionRequestMessage[] = []
if (systemMessage) {
if (typeof systemMessage === 'string') {
messages.push({
role: 'system',
content: systemMessage
})
}
if (Array.isArray(systemMessage)) {
messages = messages.concat(
systemMessage.map((content) => ({
role: 'system',
content
}))
)
}
const systemMessageOffset = messages.length
let nextMessages = text
? messages.concat([

Wyświetl plik

@ -19,7 +19,7 @@ export type ChatGPTAPIOptions = {
Omit<openai.CreateChatCompletionRequest, 'messages' | 'n' | 'stream'>
>
systemMessage?: string
systemMessage?: string | string[]
/** @defaultValue `4096` **/
maxModelTokens?: number
@ -41,7 +41,7 @@ export type SendMessageOptions = {
conversationId?: string
messageId?: string
stream?: boolean
systemMessage?: string
systemMessage?: string | string[]
timeoutMs?: number
onProgress?: (partialResponse: ChatMessage) => void
abortSignal?: AbortSignal