Professional Documents
Culture Documents
Chat GPT No Wix Chat (2023)
Chat GPT No Wix Chat (2023)
js
import { ask_gpt } from 'backend/openai'
import wixChatBackend from 'wix-chat-backend';
import wixData from 'wix-data';
wixData.query('gpt_chat').eq('channelId', event.channelId).find()
.then(async (res) => {
if (res.items.length > 0) {
console.log('CHAT EXISTENTE')
ask_gpt(msg_array, event.sender.id)
.then(async (resGpt) => {
let gpt_res = JSON.parse(resGpt)
console.log(gpt_res)
let ai_reply = gpt_res.choices[0].message.content.replace(/\n
/g, '');
await msg_array.push({ role: 'assistant', 'content': ai_reply
})
gpt_response(ai_reply, event.channelId, msg_array)
})
} else {
console.log('NOVO CHAT')
//Novo chat
let msg_array = [
{ role: 'system', 'content': 'Você está falando como um atendente
virtual criado pelo Bad Drow' },
{ role: 'user', 'content': event.payload.text /*+'me responda est
ritamente no contexto: Marketing Digital'*/},
]
let obj = {
channelId: event.channelId,
userId: event.sender.id,
messageHistory: msg_array,
}
wixData.insert('gpt_chat', obj)
ask_gpt(msg_array, event.sender.id)
.then(async (resGpt2) => {
})
let obj = {
"messageText": gpt,
"channelId": chid,
"metadata": {},
"sendAsVisitor": false,
}
wixChatBackend.sendMessage(obj)
.then(() => {
wixData.query('gpt_chat').eq('channelId', chid).find()
.then((res) => {
let item = res.items[0];
item.messageHistory = array;
wixData.update('gpt_chat', item)
})
})
.catch((e) => {
console.log(e)
})
}
//openai.jsw
const axios = require('axios'); //LEMBRAR DE IMPORTAR O PACOTE NPM: AXIOS
// ...
});
let config = {
method: 'post',
maxBodyLength: Infinity,
url: 'https://api.openai.com/v1/chat/completions',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + 'SUA KEY DO SITE OPENAI’
},
data: data
};