diff --git a/src/background/apis/custom-api.mjs b/src/background/apis/custom-api.mjs
index 8eb4604..08799eb 100644
--- a/src/background/apis/custom-api.mjs
+++ b/src/background/apis/custom-api.mjs
@@ -5,7 +5,7 @@
// and it has not yet had a negative impact on maintenance.
// If necessary, I will refactor.
-import { getUserConfig, maxResponseTokenLength, Models } from '../../config/index.mjs'
+import { getUserConfig, maxResponseTokenLength } from '../../config/index.mjs'
import { fetchSSE } from '../../utils/fetch-sse'
import { getConversationPairs } from '../../utils/get-conversation-pairs'
import { isEmpty } from 'lodash-es'
@@ -52,7 +52,7 @@ export async function generateAnswersWithCustomApi(port, question, session, apiK
},
body: JSON.stringify({
messages: prompt,
- model: Models[modelName].value,
+ model: modelName,
stream: true,
max_tokens: maxResponseTokenLength,
}),
diff --git a/src/background/index.mjs b/src/background/index.mjs
index 7ab8f24..6cd4ac4 100644
--- a/src/background/index.mjs
+++ b/src/background/index.mjs
@@ -15,6 +15,7 @@ import {
defaultConfig,
getUserConfig,
gptApiModelKeys,
+ isUsingCustomModel,
Models,
} from '../config/index.mjs'
import { isSafari } from '../utils/is-safari'
@@ -60,7 +61,10 @@ Browser.runtime.onConnect.addListener((port) => {
if (!session) return
const config = await getUserConfig()
if (!session.modelName) session.modelName = config.modelName
- if (!session.aiName) session.aiName = Models[session.modelName].desc
+ if (!session.aiName)
+ session.aiName =
+ Models[session.modelName].desc +
+ (isUsingCustomModel(config) ? ` (${config.customModelName})` : '')
port.postMessage({ session })
try {
@@ -101,8 +105,8 @@ Browser.runtime.onConnect.addListener((port) => {
port,
session.question,
session,
- config.apiKey,
- session.modelName,
+ '',
+ config.customModelName,
)
}
} catch (err) {
diff --git a/src/config/index.mjs b/src/config/index.mjs
index 6bcb794..30cbd0d 100644
--- a/src/config/index.mjs
+++ b/src/config/index.mjs
@@ -18,14 +18,14 @@ export const Models = {
chatgptApi4_8k: { value: 'gpt-4', desc: 'ChatGPT (GPT-4-8k)' },
chatgptApi4_32k: { value: 'gpt-4-32k', desc: 'ChatGPT (GPT-4-32k)' },
gptApiDavinci: { value: 'text-davinci-003', desc: 'GPT-3.5' },
- chatglm6bInt4: { value: 'chatglm-6b-int4', desc: 'ChatGLM-6B-Int4' },
+ customModel: { value: '', desc: 'Custom Model' },
}
export const chatgptWebModelKeys = ['chatgptFree35', 'chatgptPlus4']
export const bingWebModelKeys = ['bingFree4']
export const gptApiModelKeys = ['gptApiDavinci']
export const chatgptApiModelKeys = ['chatgptApi35', 'chatgptApi4_8k', 'chatgptApi4_32k']
-export const customApiModelKeys = ['chatglm6bInt4']
+export const customApiModelKeys = ['customModel']
export const TriggerMode = {
always: 'Always',
@@ -66,13 +66,14 @@ export const defaultConfig = {
preferredLanguage: navigator.language.substring(0, 2),
insertAtTop: isMobile(),
lockWhenAnswer: false,
+ customModelApiUrl: 'http://localhost:8000/chat/completions',
+ customModelName: 'chatglm-6b-int4',
// advanced
customChatGptWebApiUrl: 'https://chat.openai.com',
customChatGptWebApiPath: '/backend-api/conversation',
customOpenAiApiUrl: 'https://api.openai.com',
- customModelApiUrl: 'http://localhost:8000/chat/completions',
siteRegex: 'match nothing',
userSiteRegexOnly: false,
inputQuery: '',
diff --git a/src/popup/Popup.jsx b/src/popup/Popup.jsx
index 82c2436..706e8cb 100644
--- a/src/popup/Popup.jsx
+++ b/src/popup/Popup.jsx
@@ -81,7 +81,9 @@ function GeneralPart({ config, updateConfig }) {
)}
+ {isUsingCustomModel(config) && (
+
+ {
+ const customModelName = e.target.value
+ updateConfig({ customModelName: customModelName })
+ }}
+ />
+
+ )}
{isUsingCustomModel(config) && (