Simple ChatGPT client in the terminal

I stumbled upon a tutorial on how to make a simple ChatGPT client, but they seemed a bit outdated so I fiddled until I had the very simple thing I wanted.

Firstly important: this does not really compute the AI answer on your machine, it is just a client interface to the OpenAI cloud solution.

You will need a API-key from OpenAI.
There might be a billing model attached by now; look that up before you spam the AI.

Approach

npm install -g openai

test.js:

const openai = require('openai');
const readline = require('node:readline/promises');
const process = require('node:process');

// Set your OpenAI API key
const apiKey = "<<< your api key goes here >>>";
const configuration = new openai.Configuration({
  apiKey,
});
const AI = new openai.OpenAIApi(configuration);


function queryInput() {
    const rl = readline.createInterface({
        input: process.stdin,
        output: process.stdout,
    });

    rl.question("Ask me: ").then(ans => {
        rl.close();
        processQuery(ans);
    });
}

function processQuery(query) {
    const model = "text-davinci-003";

    AI.createCompletion({
      model,
      prompt: query,
      temperature: 0.5,
    }).then((response) => {
      console.log(response.data.choices[0].text);
      
      queryInput();
    });
}

queryInput();
# node test.js
Ask me: when did avryl lavigne change her hair color to blonde?

Avril Lavigne dyed her hair blonde in 2001

The above is based on this tutorial I found and the OpenAI client example application:

https://dev.to/docker/running-chatgpt-locally-using-docker-desktop-2i31

and additionally on official documentation since I wanted to run it like a script.

You can run the author's openai client example to generate animal names like this:

git clone https://github.com/ajeetraina/openai-quickstart-node .
cp .env.example .env
# Add your API key to .env
npm install
npm run dev

Or the same thing as docker container:

git clone https://github.com/ajeetraina/openai-quickstart-node .
cp .env.example .env
# Add your API key to .env
docker build -t chatbot-docker .
docker run -d -p 3000:3000 chatbot-docker
-> http://localhost:3000/

Discussion

Enter your comment: