Added ability to override request payload

This commit is contained in:
bmen25124
2025-04-11 19:07:00 +03:00
parent 4736f533a5
commit fc5e0563ba
2 changed files with 8 additions and 3 deletions

View File

@ -82,7 +82,6 @@ export class TextCompletionService {
*/ */
static createRequestData({ stream = false, prompt, max_tokens, model, api_type, api_server, temperature, min_p, ...props }) { static createRequestData({ stream = false, prompt, max_tokens, model, api_type, api_server, temperature, min_p, ...props }) {
const payload = { const payload = {
...props,
stream, stream,
prompt, prompt,
max_tokens, max_tokens,
@ -92,6 +91,7 @@ export class TextCompletionService {
api_server: api_server ?? getTextGenServer(api_type), api_server: api_server ?? getTextGenServer(api_type),
temperature, temperature,
min_p, min_p,
...props,
}; };
// Remove undefined values to avoid API errors // Remove undefined values to avoid API errors
@ -391,7 +391,6 @@ export class ChatCompletionService {
*/ */
static createRequestData({ stream = false, messages, model, chat_completion_source, max_tokens, temperature, custom_url, reverse_proxy, proxy_password, ...props }) { static createRequestData({ stream = false, messages, model, chat_completion_source, max_tokens, temperature, custom_url, reverse_proxy, proxy_password, ...props }) {
const payload = { const payload = {
...props,
stream, stream,
messages, messages,
model, model,
@ -401,6 +400,9 @@ export class ChatCompletionService {
custom_url, custom_url,
reverse_proxy, reverse_proxy,
proxy_password, proxy_password,
use_makersuite_sysprompt: true,
claude_use_sysprompt: true,
...props,
}; };
// Remove undefined values to avoid API errors // Remove undefined values to avoid API errors

View File

@ -306,9 +306,10 @@ export class ConnectionManagerRequestService {
* @param {boolean?} [custom.includePreset=true] * @param {boolean?} [custom.includePreset=true]
* @param {boolean?} [custom.includeInstruct=true] * @param {boolean?} [custom.includeInstruct=true]
* @param {Partial<InstructSettings>?} [custom.instructSettings] Override instruct settings * @param {Partial<InstructSettings>?} [custom.instructSettings] Override instruct settings
* @param {Record<string, any>} [overridePayload] - Override payload for the request
* @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 * @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
*/ */
static async sendRequest(profileId, prompt, maxTokens, custom = this.defaultSendRequestParams) { static async sendRequest(profileId, prompt, maxTokens, custom = this.defaultSendRequestParams, overridePayload = {}) {
const { stream, signal, extractData, includePreset, includeInstruct, instructSettings } = { ...this.defaultSendRequestParams, ...custom }; const { stream, signal, extractData, includePreset, includeInstruct, instructSettings } = { ...this.defaultSendRequestParams, ...custom };
const context = SillyTavern.getContext(); const context = SillyTavern.getContext();
@ -338,6 +339,7 @@ export class ConnectionManagerRequestService {
custom_url: profile['api-url'], custom_url: profile['api-url'],
reverse_proxy: proxyPreset?.url, reverse_proxy: proxyPreset?.url,
proxy_password: proxyPreset?.password, proxy_password: proxyPreset?.password,
...overridePayload,
}, { }, {
presetName: includePreset ? profile.preset : undefined, presetName: includePreset ? profile.preset : undefined,
}, extractData, signal); }, extractData, signal);
@ -354,6 +356,7 @@ export class ConnectionManagerRequestService {
model: profile.model, model: profile.model,
api_type: selectedApiMap.type, api_type: selectedApiMap.type,
api_server: profile['api-url'], api_server: profile['api-url'],
...overridePayload,
}, { }, {
instructName: includeInstruct ? profile.instruct : undefined, instructName: includeInstruct ? profile.instruct : undefined,
presetName: includePreset ? profile.preset : undefined, presetName: includePreset ? profile.preset : undefined,