I am having trouble using the OpenAI API with Node.js. Specifically, I am trying to use the openai.Completion object, but I keep getting a “Cannot find module ‘@openai/api'” error.
I have already tried installing the @openai/api package using npm install @openai/api, but I get a 404 error indicating that the package could not be found. I have also removed it and reinstalled but no luck.
I also tried upgrading to the latest version of Node.js, which is currently 19.1.0, but the issue is stuborn. I created a test script (test.js) with the following code:
const openai = require('openai');
openai.apiKey = 'sk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
async function runTest() {
try {
const gpt3Response = await openai.Completion.create({
engine: 'davinci-codex',
prompt: `Create a simple conversational response for beginners, with an easy question at the end, based on the input: "Hello, how are you?"`,
max_tokens: 50,
n: 1,
stop: null,
temperature: 0.5,
});
console.log(gpt3Response.choices[0].text.trim());
} catch (error) {
console.error(error);
}
}
runTest();
When I run this script with node test.js, I get the following error:
Error: Cannot find module '@openai/api'
Require stack:
- C:UsersUserDocumentsCodingfolderstest.js
I have also tested the OpenAI API using VSC Thunder Client, and it seems to work. Here is the POST request I used:
POST https://api.openai.com/v1/engines/davinci/completions
{
"prompt": "do you like soccer",
"max_tokens": 50,
"n": 1,
"stop": null,
"temperature": 0.5,
"top_p": 1,
"echo": false
}
I received the following response:
{
"id": "cmpl-75BDDTIZ2Q1yodctHcEohCIsA1f46",
"object": "text_completion",
"created": 1681469095,
"model": "davinci",
"choices": [
{
"text": "?”nn“I’m not sure. I’ve never been to a game.”nn“I’m going to the game on Saturday. Would you like to go with me?",
"index": 0,
"logprobs": null,
"finish_reason": "length"
}
],
"usage": {
"prompt_tokens": 4,
"completion_tokens": 49,
"total_tokens": 53
}
}
Could you please help me understand what could be causing the “Cannot find module ‘@openai/api'” error?
To provide me with next steps to try figure out why this API is not working. Either solutions or further tests I can try.
Thank you!