fix: conversation of bing sydney mode (#236, #242)

This commit is contained in:
josc146
2023-04-20 21:59:02 +08:00
parent c8680a4bf1
commit 8af03398d5
3 changed files with 32 additions and 6 deletions
+22 -4
View File
@@ -20,6 +20,11 @@ export async function generateAnswersWithBingWebApi(
const config = await getUserConfig()
const bingAIClient = new BingAIClient({ userToken: accessToken })
if (session.bingWeb_jailbreakConversationCache)
bingAIClient.conversationsCache.set(
session.bingWeb_jailbreakConversationId,
session.bingWeb_jailbreakConversationCache,
)
let answer = ''
const response = await bingAIClient
@@ -40,6 +45,11 @@ export async function generateAnswersWithBingWebApi(
clientId: session.bingWeb_clientId,
invocationId: session.bingWeb_invocationId,
}
: session.bingWeb_jailbreakConversationId
? {
jailbreakConversationId: session.bingWeb_jailbreakConversationId,
parentMessageId: session.bingWeb_parentMessageId,
}
: {}),
})
.catch((err) => {
@@ -47,10 +57,18 @@ export async function generateAnswersWithBingWebApi(
throw err
})
session.bingWeb_conversationSignature = response.conversationSignature
session.bingWeb_conversationId = response.conversationId
session.bingWeb_clientId = response.clientId
session.bingWeb_invocationId = response.invocationId
if (!sydneyMode) {
session.bingWeb_conversationSignature = response.conversationSignature
session.bingWeb_conversationId = response.conversationId
session.bingWeb_clientId = response.clientId
session.bingWeb_invocationId = response.invocationId
} else {
session.bingWeb_jailbreakConversationId = response.jailbreakConversationId
session.bingWeb_parentMessageId = response.messageId
session.bingWeb_jailbreakConversationCache = bingAIClient.conversationsCache.get(
response.jailbreakConversationId,
)
}
if (response.details.sourceAttributions.length > 0) {
const footnotes =
+2 -2
View File
@@ -23,13 +23,13 @@ export async function generateAnswersWithWaylaidwandererApi(port, question, sess
body: JSON.stringify({
message: question,
stream: true,
...(session.bingWeb_conversationId && {
...(session.bingWeb_conversationSignature && {
conversationId: session.bingWeb_conversationId,
conversationSignature: session.bingWeb_conversationSignature,
clientId: session.bingWeb_clientId,
invocationId: session.bingWeb_invocationId,
}),
...(session.conversationId && {
...(session.parentMessageId && {
conversationId: session.conversationId,
parentMessageId: session.parentMessageId,
}),
+8
View File
@@ -17,6 +17,9 @@ import { Models } from '../config/index.mjs'
* @property {string|null} bingWeb_conversationId
* @property {string|null} bingWeb_clientId
* @property {string|null} bingWeb_invocationId
* @property {string|null} bingWeb_jailbreakConversationId
* @property {string|null} bingWeb_parentMessageId
* @property {Object|null} bingWeb_jailbreakConversationCache
* @property {number|null} poe_chatId
*/
/**
@@ -59,6 +62,11 @@ export function initSession({
bingWeb_clientId: null,
bingWeb_invocationId: null,
// bing sydney
bingWeb_jailbreakConversationId: null,
bingWeb_parentMessageId: null,
bingWeb_jailbreakConversationCache: null,
// poe
poe_chatId: null,
}