support moonshot

This commit is contained in:
Jialei
2024-03-03 21:45:22 +09:00
committed by josc146
parent 6b494c03b7
commit 0d7d7354d8
5 changed files with 101 additions and 14 deletions
+19
View File
@@ -0,0 +1,19 @@
import { generateAnswersWithChatgptApiCompat } from './openai-api.mjs'
/**
* @param {Browser.Runtime.Port} port
* @param {string} question
* @param {Session} session
* @param {string} apiKey
* @param {string} modelName
*/
export async function generateAnswersWithMoonshotCompletionApi(
port,
question,
session,
apiKey,
modelName,
) {
const baseUrl = 'https://api.moonshot.cn'
return generateAnswersWithChatgptApiCompat(baseUrl, port, question, session, apiKey, modelName)
}
+20 -2
View File
@@ -95,6 +95,25 @@ export async function generateAnswersWithGptCompletionApi(
* @param {string} modelName
*/
export async function generateAnswersWithChatgptApi(port, question, session, apiKey, modelName) {
const config = await getUserConfig()
return generateAnswersWithChatgptApiCompat(
config.customOpenAiApiUrl,
port,
question,
session,
apiKey,
modelName,
)
}
export async function generateAnswersWithChatgptApiCompat(
baseUrl,
port,
question,
session,
apiKey,
modelName,
) {
const { controller, messageListener, disconnectListener } = setAbortController(port)
const config = await getUserConfig()
@@ -104,10 +123,9 @@ export async function generateAnswersWithChatgptApi(port, question, session, api
)
prompt.unshift({ role: 'system', content: await getChatSystemPromptBase() })
prompt.push({ role: 'user', content: question })
const apiUrl = config.customOpenAiApiUrl
let answer = ''
await fetchSSE(`${apiUrl}/v1/chat/completions`, {
await fetchSSE(`${baseUrl}/v1/chat/completions`, {
method: 'POST',
signal: controller.signal,
headers: {