From f09cb1bd6915a11cc988804c3f59ed979e817977 Mon Sep 17 00:00:00 2001 From: Kwaroran Date: Wed, 18 Dec 2024 03:37:41 +0900 Subject: [PATCH] Add DeveloperRole flag and update role handling in OpenAIChatExtra --- src/ts/model/modellist.ts | 6 ++++-- src/ts/process/request.ts | 13 ++++++++++++- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/ts/model/modellist.ts b/src/ts/model/modellist.ts index 1367399f..bb335228 100644 --- a/src/ts/model/modellist.ts +++ b/src/ts/model/modellist.ts @@ -15,7 +15,8 @@ export enum LLMFlags{ mustStartWithUserInput, poolSupported, hasVideoInput, - OAICompletionTokens + OAICompletionTokens, + DeveloperRole } export enum LLMProvider{ @@ -451,7 +452,8 @@ export const LLMModels: LLMModel[] = [ LLMFlags.hasStreaming, LLMFlags.OAICompletionTokens, LLMFlags.hasFullSystemPrompt, - LLMFlags.hasImageInput + LLMFlags.hasImageInput, + LLMFlags.DeveloperRole ], parameters: OpenAIParameters, tokenizer: LLMTokenizer.tiktokenO200Base diff --git a/src/ts/process/request.ts b/src/ts/process/request.ts index e77297d8..412f7918 100644 --- a/src/ts/process/request.ts +++ b/src/ts/process/request.ts @@ -237,7 +237,7 @@ interface OpenAIImageContents { type OpenAIContents = OpenAITextContents|OpenAIImageContents export interface OpenAIChatExtra { - role: 'system'|'user'|'assistant'|'function' + role: 'system'|'user'|'assistant'|'function'|'developer' content: string|OpenAIContents[] memo?:string name?:string @@ -555,6 +555,17 @@ async function requestOpenAI(arg:RequestDataArgumentExtended):Promise { + if(v.role === 'system'){ + return { + ...v, + role: 'developer' + } + } + }) + } const res = await globalFetch(arg.customURL ?? "https://api.mistral.ai/v1/chat/completions", { body: applyParameters({