From 78236561b8110d7680c9588e10e03840a01d7bbc Mon Sep 17 00:00:00 2001 From: josc146 Date: Mon, 17 Apr 2023 21:09:51 +0800 Subject: [PATCH] feat: sydney mode of bing (#215) --- src/background/apis/bing-web.mjs | 11 +++++++++-- src/background/index.mjs | 4 +++- src/config/index.mjs | 2 +- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/background/apis/bing-web.mjs b/src/background/apis/bing-web.mjs index a7af84f..6d130a2 100644 --- a/src/background/apis/bing-web.mjs +++ b/src/background/apis/bing-web.mjs @@ -7,8 +7,15 @@ import { pushRecord, setAbortController } from './shared.mjs' * @param {string} question * @param {Session} session * @param {string} accessToken + * @param {boolean} sydneyMode */ -export async function generateAnswersWithBingWebApi(port, question, session, accessToken) { +export async function generateAnswersWithBingWebApi( + port, + question, + session, + accessToken, + sydneyMode = false, +) { const { controller, messageListener } = setAbortController(port) const config = await getUserConfig() @@ -19,7 +26,7 @@ export async function generateAnswersWithBingWebApi(port, question, session, acc .sendMessage(question, { abortController: controller, toneStyle: config.modelMode, - jailbreakConversationId: config.sydneyMode, + jailbreakConversationId: sydneyMode, onProgress: (token) => { answer += token // remove reference markers [^number^] diff --git a/src/background/index.mjs b/src/background/index.mjs index 88c556d..5086d72 100644 --- a/src/background/index.mjs +++ b/src/background/index.mjs @@ -78,7 +78,9 @@ Browser.runtime.onConnect.addListener((port) => { await generateAnswersWithChatgptWebApi(port, session.question, session, accessToken) } else if (bingWebModelKeys.includes(session.modelName)) { const accessToken = await getBingAccessToken() - await generateAnswersWithBingWebApi(port, session.question, session, accessToken) + if (session.modelName === 'bingFreeSydney') + await generateAnswersWithBingWebApi(port, session.question, session, accessToken, true) + else await generateAnswersWithBingWebApi(port, session.question, session, accessToken) } else if (gptApiModelKeys.includes(session.modelName)) { await generateAnswersWithGptCompletionApi( port, diff --git a/src/config/index.mjs b/src/config/index.mjs index c427414..545cfb9 100644 --- a/src/config/index.mjs +++ b/src/config/index.mjs @@ -13,13 +13,13 @@ import { isMobile } from '../utils/is-mobile.mjs' export const Models = { chatgptFree35: { value: 'text-davinci-002-render-sha', desc: 'ChatGPT (Web)' }, chatgptPlus4: { value: 'gpt-4', desc: 'ChatGPT (Web, GPT-4)' }, + chatgptApi35: { value: 'gpt-3.5-turbo', desc: 'ChatGPT (GPT-3.5-turbo)' }, bingFree4: { value: '', desc: 'Bing (Web, GPT-4)' }, bingFreeSydney: { value: '', desc: 'Bing (Web, GPT-4, Sydney)' }, poeAiWebSage: { value: 'sage', desc: 'Poe AI (Web, Sage)' }, poeAiWebGPT4: { value: 'gpt-4', desc: 'Poe AI (Web, GPT-4)' }, poeAiWebClaudePlus: { value: 'claude+', desc: 'Poe AI (Web, Claude+)' }, poeAiWebClaude: { value: 'claude', desc: 'Poe AI (Web, Claude)' }, - chatgptApi35: { value: 'gpt-3.5-turbo', desc: 'ChatGPT (GPT-3.5-turbo)' }, 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' },