修复bing图片识别问题

This commit is contained in:
zyc404 2024-05-06 20:28:42 +08:00
parent eb2618b141
commit 8dab6fd0b5

View file

@ -410,7 +410,7 @@ export default class SydneyAIClient {
// }
let maxConv = Config.maxNumUserMessagesInConversation
const currentDate = moment().format('YYYY-MM-DDTHH:mm:ssZ')
const imageDate = await this.kblobImage(opts.imageUrl)
const imageDate = await this.kblobImage(opts.imageUrl, conversationId)
let argument0 = {
source,
optionsSets,
@ -880,20 +880,31 @@ export default class SydneyAIClient {
}
}
async kblobImage (url) {
async kblobImage (url, conversationId) {
if (!url) return false
if (!conversationId) return false
// 获取并转换图片为base64
let imgBase64
try {
const response = await fetch(url)
const arrayBuffer = await response.arrayBuffer()
const buffer = Buffer.from(arrayBuffer)
imgBase64 = buffer.toString('base64')
} catch (error) {
console.error(error)
return false
}
const formData = new FormData()
formData.append('knowledgeRequest', JSON.stringify({
imageInfo: {
url
},
imageInfo: {},
knowledgeRequest: {
invokedSkills: ['ImageById'],
subscriptionId: 'Bing.Chat.Multimodal',
invokedSkillsRequestData: { enableFaceBlur: true },
convoData: { convoid: '', convotone: 'Creative' }
convoData: { convoid: conversationId, convotone: 'Creative' }
}
}))
formData.append('imageBase64', imgBase64)
const fetchOptions = {
headers: {
Referer: 'https://www.bing.com/search?q=Bing+AI&showconv=1&FORM=hpcodx'