This commit is contained in:
Lukian LEIZOUR 2023-03-04 15:29:08 +01:00
parent fcd80c5ac8
commit 8654d31004
4 changed files with 126 additions and 11 deletions

View file

@ -65,11 +65,11 @@ function addConv (convName) {
if (error) {
reject(error);
} else {
connection.query('CREATE TABLE ' + convName + '(id int NOT NULL AUTO_INCREMENT, author varchar(20) NOT NULL, message text, PRIMARY KEY (id))', (error, results, fields) => {
connection.query('CREATE TABLE ' + convName + '(id int NOT NULL AUTO_INCREMENT, author varchar(20) NOT NULL, message text, PRIMARY KEY (id))', async (error, results, fields) => {
if (error) {
reject(error);
} else {
resolve(results);
resolve(addMessage(convName, 'system', 'You are a helpful assistant.'));
}
});
}
@ -111,4 +111,34 @@ function getConvs() {
});
}
module.exports = { addUserToDb, incrementQuota, usersInDb, getQuota, addConv, delConv, getConvs };
function addMessage(convName, author, message) {
return new Promise((resolve, reject) => {
connection.query('INSERT INTO ' + convName + ' (author, message) VALUES ("' + author + '"'+', "' + message + '")', (error, results, fields) => {
if (error) {
reject(error);
} else {
resolve(results);
}
});
});
}
function getMessages (convName) {
return new Promise((resolve, reject) => {
connection.query('SELECT author, message FROM ' + convName, (error, results, fields) => {
if (error) {
reject(error);
} else {
messages = [];
results.forEach(element => {
messages.push({"role" : element.author, "content" : element.message});
});
resolve(messages);
}
});
});
}
module.exports = { addUserToDb, incrementQuota, usersInDb, getQuota, addConv, delConv, getConvs, addMessage, getMessages };

View file

@ -24,7 +24,21 @@ async function generateImage(query, ctx, bot) {
async function answerQuestion(query) {
response = await openai.createChatCompletion({
model: "gpt-3.5-turbo",
messages: [{ "role" : "user", "content" : query}],
messages: [{"role":"system", "content" : "You are a helpful assistant."},{ "role" : "user", "content" : "who is the president of the united states?" }, { "role" : "assistant", "content" : "Joe Biden"}],
temperature: 0.9,
}).catch((err) => {
console.log(err);
addToLogs("--> error : " + err);
})
console.log(response);
return response;
}
async function sendConv (messages) {
response = await openai.createChatCompletion({
model: "gpt-3.5-turbo",
messages: messages,
temperature: 0.9,
}).catch((err) => {
console.log(err);
@ -34,4 +48,4 @@ async function answerQuestion(query) {
return response;
}
module.exports = { generateImage, answerQuestion };
module.exports = { generateImage, answerQuestion, sendConv };