mirror of
https://github.com/kolbytn/mindcraft.git
synced 2025-04-22 06:02:07 +02:00
42 lines
1.1 KiB
JavaScript
42 lines
1.1 KiB
JavaScript
import { Configuration, OpenAIApi } from "openai";
|
|
|
|
|
|
var openAiConfig = null;
|
|
if (process.env.OPENAI_ORG_ID) {
|
|
openAiConfig = new Configuration({
|
|
organization: process.env.OPENAI_ORG_ID,
|
|
apiKey: process.env.OPENAI_API_KEY,
|
|
});
|
|
} else {
|
|
openAiConfig = new Configuration({
|
|
apiKey: process.env.OPENAI_API_KEY,
|
|
});
|
|
}
|
|
const openai = new OpenAIApi(openAiConfig);
|
|
|
|
|
|
export async function sendRequest(turns, systemMessage) {
|
|
|
|
let messages = [{"role": "system", "content": systemMessage}];
|
|
for (let i = 0; i < turns.length; i++) {
|
|
if (i % 2 == 0) {
|
|
messages.push({"role": "user", "content": turns[i]});
|
|
} else {
|
|
messages.push({"role": "assistant", "content": turns[i]});
|
|
}
|
|
}
|
|
|
|
let res = null;
|
|
try {
|
|
let completion = await openai.createChatCompletion({
|
|
model: "gpt-3.5-turbo",
|
|
messages: messages,
|
|
});
|
|
res = completion.data.choices[0].message.content;
|
|
}
|
|
catch (err) {
|
|
console.log(err);
|
|
res = "I'm sorry, I don't know how to respond to that.";
|
|
}
|
|
return res;
|
|
}
|