Added ability to override request payload

fc5e0563bae0dc17113d8b3a657f8cdea2ae51b2

bmen25124 <bmen25124@gmail.com>

2 files changed, +8 -3Ignore whitespace
public/scripts/custom-request.js+4 -2
@@ -82,7 +82,6 @@ export class TextCompletionService {
8282 */
8383 static createRequestData({ stream = false, prompt, max_tokens, model, api_type, api_server, temperature, min_p, ...props }) {
8484 const payload = {
85- ...props,
8685 stream,
8786 prompt,
8887 max_tokens,
@@ -92,6 +91,7 @@ export class TextCompletionService {
9291 api_server: api_server ?? getTextGenServer(api_type),
9392 temperature,
9493 min_p,
94+ ...props,
9595 };
9696
9797 // Remove undefined values to avoid API errors
@@ -391,7 +391,6 @@ export class ChatCompletionService {
391391 */
392392 static createRequestData({ stream = false, messages, model, chat_completion_source, max_tokens, temperature, custom_url, reverse_proxy, proxy_password, ...props }) {
393393 const payload = {
394- ...props,
395394 stream,
396395 messages,
397396 model,
@@ -401,6 +400,9 @@ export class ChatCompletionService {
401400 custom_url,
402401 reverse_proxy,
403402 proxy_password,
403+ use_makersuite_sysprompt: true,
404+ claude_use_sysprompt: true,
405+ ...props,
404406 };
405407
406408 // Remove undefined values to avoid API errors
public/scripts/extensions/shared.js+4 -1
@@ -306,9 +306,10 @@ export class ConnectionManagerRequestService {
306306 * @param {boolean?} [custom.includePreset=true]
307307 * @param {boolean?} [custom.includeInstruct=true]
308308 * @param {Partial<InstructSettings>?} [custom.instructSettings] Override instruct settings
309+ * @param {Record<string, any>} [overridePayload] - Override payload for the request
309310 * @returns {Promise<import('../custom-request.js').ExtractedData | (() => AsyncGenerator<import('../custom-request.js').StreamResponse>)>} If not streaming, returns extracted data; if streaming, returns a function that creates an AsyncGenerator
310311 */
311312 static async sendRequest(profileId, prompt, maxTokens, custom = this.defaultSendRequestParams, overridePayload = {}) {
312313 const { stream, signal, extractData, includePreset, includeInstruct, instructSettings } = { ...this.defaultSendRequestParams, ...custom };
313314
314315 const context = SillyTavern.getContext();
@@ -338,6 +339,7 @@ export class ConnectionManagerRequestService {
338339 custom_url: profile['api-url'],
339340 reverse_proxy: proxyPreset?.url,
340341 proxy_password: proxyPreset?.password,
342+ ...overridePayload,
341343 }, {
342344 presetName: includePreset ? profile.preset : undefined,
343345 }, extractData, signal);
@@ -354,6 +356,7 @@ export class ConnectionManagerRequestService {
354356 model: profile.model,
355357 api_type: selectedApiMap.type,
356358 api_server: profile['api-url'],
359+ ...overridePayload,
357360 }, {
358361 instructName: includeInstruct ? profile.instruct : undefined,
359362 presetName: includePreset ? profile.preset : undefined,