From dfa4da5b2ef23552b4e8d6aab8fdda006d8ab908 Mon Sep 17 00:00:00 2001 From: mic Date: Sat, 27 Dec 2025 22:40:51 +0100 Subject: [PATCH] temperature added to Open AI API. see #571 --- _locales/en/messages.json | 8 ++++++++ api_webchat/controller.js | 6 ++++++ js/api/openai_responses.js | 4 ++++ options/mzta-options-default.js | 1 + pages/_lib/connection-ui.js | 13 +++++++++++++ 5 files changed, 32 insertions(+) diff --git a/_locales/en/messages.json b/_locales/en/messages.json index 4146fce8..eb6ab97a 100644 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -1577,6 +1577,14 @@ "message": "If checked, your chats will be stored by OpenAI.", "description": "" }, + "prefs_chatgpt_api_temperature": { + "message": "Temperature", + "description": "" + }, + "prefs_chatgpt_api_temperature_Info": { + "message": "What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.", + "description": "" + }, "prefs_ollama_think": { "message": "Enable thinking", "description": "" diff --git a/api_webchat/controller.js b/api_webchat/controller.js index e1ec8cb8..af6230bc 100644 --- a/api_webchat/controller.js +++ b/api_webchat/controller.js @@ -81,6 +81,7 @@ switch (llm) { chatgpt_model: prefs_default.chatgpt_model, chatgpt_developer_messages: prefs_default.chatgpt_developer_messages, chatgpt_api_store: prefs_default.chatgpt_api_store, + chatgpt_api_temperature: prefs_default.chatgpt_api_temperature, do_debug: prefs_default.do_debug, }); let i18nStrings = {}; @@ -94,6 +95,7 @@ switch (llm) { chatgpt_model: prefs_api.chatgpt_model, chatgpt_developer_messages: prefs_api.chatgpt_developer_messages, chatgpt_api_store: prefs_api.chatgpt_api_store, + chatgpt_api_temperature: prefs_api.chatgpt_api_temperature, do_debug: prefs_api.do_debug, i18nStrings: i18nStrings, }); @@ -103,6 +105,9 @@ switch (llm) { if(prefs_api.chatgpt_developer_messages && prefs_api.chatgpt_developer_messages.length > 0) { additional_text_elements.push({label: browser.i18n.getMessage("ChatGPT_Developer_Messages"), value: prefs_api.chatgpt_developer_messages}); } + if(prefs_api.chatgpt_api_temperature && prefs_api.chatgpt_api_temperature.length > 0){ + additional_text_elements.push({label: browser.i18n.getMessage("prefs_chatgpt_api_temperature"), value: prefs_api.chatgpt_api_temperature}); + } messagesArea.appendUserMessage(getAPIsInitMessageString({ api_string: "ChatGPT API", model_string: prefs_api.chatgpt_model, @@ -145,6 +150,7 @@ switch (llm) { google_gemini_model: prefs_api.google_gemini_model, google_gemini_system_instruction: prefs_api.google_gemini_system_instruction, google_gemini_thinking_budget: prefs_api.google_gemini_thinking_budget, + google_gemini_temperature: prefs_api.google_gemini_temperature, do_debug: prefs_api.do_debug, i18nStrings: i18nStrings, }); diff --git a/js/api/openai_responses.js b/js/api/openai_responses.js index 30202a79..1889980c 100644 --- a/js/api/openai_responses.js +++ b/js/api/openai_responses.js @@ -24,6 +24,7 @@ export class OpenAI { apiKey = ''; model = ''; developer_messages = ''; + temperature = ''; stream = false; store = false; @@ -31,12 +32,14 @@ export class OpenAI { apiKey = '', model = '', developer_messages = '', + temperature = '', stream = false, store = false } = {}) { this.apiKey = apiKey; this.model = model; this.developer_messages = developer_messages; + this.temperature = temperature; this.stream = stream; this.store = store; } @@ -90,6 +93,7 @@ export class OpenAI { input: input, stream: this.stream, store: this.store, + ...(this.temperature != '' ? { 'temperature': this.temperature } : {}), ...(maxTokens > 0 ? { 'max_output_tokens': parseInt(maxTokens) } : {}), ...(previous_response_id && this.store ? { 'previous_response_id': previous_response_id } : {}) } diff --git a/options/mzta-options-default.js b/options/mzta-options-default.js index a2dddb95..c0b771f2 100644 --- a/options/mzta-options-default.js +++ b/options/mzta-options-default.js @@ -33,6 +33,7 @@ export const prefs_default = { chatgpt_api_store: false, chatgpt_model: '', chatgpt_developer_messages: '', + chatgpt_api_temperature: '', ollama_host: '', ollama_model: '', ollama_num_ctx: 0, diff --git a/pages/_lib/connection-ui.js b/pages/_lib/connection-ui.js index de13219d..25367f5b 100644 --- a/pages/_lib/connection-ui.js +++ b/pages/_lib/connection-ui.js @@ -156,6 +156,19 @@ export async function injectConnectionUI({ + + + + + + + +