openai-bot/gpt-test.js

50 lines
1.2 KiB
JavaScript

const config = require("./config.json");
const {
Configuration,
OpenAIApi
} = require("openai");
const openai = new OpenAIApi(new Configuration({
apiKey: config.openai.key
}));
// Take user input via command line
const readline = require("readline").createInterface({
input: process.stdin,
output: process.stdout
});
sessions = {};
// Command line is session 0
sessions[0] = {
messages: []
};
// The ask() function but as a promise
const askPromise = (prompt, session) => {
return new Promise((resolve, reject) => {
// If the session doesn't exist, create it
if (!sessions[session]) {
sessions[session] = {
messages: []
// Ask the user for a prompt
const ask = () => {
readline.question("What would you like to ask the bot? ", async (prompt) => {
// Create a new session
sessions[0].messages.push({
role: "user",
content: prompt
});
await openai.createChatCompletion({
model: "gpt-3.5-turbo",
messages: sessions[0].messages
}).then((data) => {
sessions[0].messages.push(data.data.choices[0].message);
console.log(`${data.data.choices[0].message.role}: ${data.data.choices[0].message.content}`);
ask();
});
});
};
ask();