From 78b376d189127e1a328218569639f65c5d10771d Mon Sep 17 00:00:00 2001 From: Michael Di Prisco Date: Sat, 4 Feb 2023 09:44:51 +0100 Subject: [PATCH 1/2] chore: moving from im_end to completion params As we allow the constructor to define completionParams, it would be better to allow devs using the library to use the specified stop token. As of right now, the library allows such stop to be passed but it isn't considered in the class itself. --- legacy/src/chatgpt-api.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/legacy/src/chatgpt-api.ts b/legacy/src/chatgpt-api.ts index 6c4e4014..16945d20 100644 --- a/legacy/src/chatgpt-api.ts +++ b/legacy/src/chatgpt-api.ts @@ -307,7 +307,7 @@ Current date: ${currentDate}\n\n` const maxNumTokens = this._maxModelTokens - this._maxResponseTokens let { parentMessageId } = opts - let nextPromptBody = `${this._userLabel}:\n\n${message}<|im_end|>` + let nextPromptBody = `${this._userLabel}:\n\n${message}${this._completionParams.stop}` let promptBody = '' let prompt: string let numTokens: number @@ -343,7 +343,7 @@ Current date: ${currentDate}\n\n` parentMessageRole === 'user' ? this._userLabel : this._assistantLabel // TODO: differentiate between assistant and user messages - const parentMessageString = `${parentMessageRoleDesc}:\n\n${parentMessage.text}<|im_end|>\n\n` + const parentMessageString = `${parentMessageRoleDesc}:\n\n${parentMessage.text}${this._completionParams.stop}\n\n` nextPromptBody = `${parentMessageString}${promptBody}` parentMessageId = parentMessage.parentMessageId } while (true) From 88edcaa2e667731238d5babe64781e5455e08252 Mon Sep 17 00:00:00 2001 From: Michael Di Prisco Date: Sat, 4 Feb 2023 14:54:23 +0100 Subject: [PATCH 2/2] chore: fixing param stop being array instead of string --- legacy/src/chatgpt-api.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/legacy/src/chatgpt-api.ts b/legacy/src/chatgpt-api.ts index 16945d20..c17e607e 100644 --- a/legacy/src/chatgpt-api.ts +++ b/legacy/src/chatgpt-api.ts @@ -307,7 +307,7 @@ Current date: ${currentDate}\n\n` const maxNumTokens = this._maxModelTokens - this._maxResponseTokens let { parentMessageId } = opts - let nextPromptBody = `${this._userLabel}:\n\n${message}${this._completionParams.stop}` + let nextPromptBody = `${this._userLabel}:\n\n${message}${this._completionParams.stop[0]}` let promptBody = '' let prompt: string let numTokens: number @@ -343,7 +343,7 @@ Current date: ${currentDate}\n\n` parentMessageRole === 'user' ? this._userLabel : this._assistantLabel // TODO: differentiate between assistant and user messages - const parentMessageString = `${parentMessageRoleDesc}:\n\n${parentMessage.text}${this._completionParams.stop}\n\n` + const parentMessageString = `${parentMessageRoleDesc}:\n\n${parentMessage.text}${this._completionParams.stop[0]}\n\n` nextPromptBody = `${parentMessageString}${promptBody}` parentMessageId = parentMessage.parentMessageId } while (true)