401-Nick / jgptMem

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

npm install jgptmem

JGPTMem Class

The JGPTMem class is designed to facilitate conversations with OpenAI's GPT-3.5-turbo model, while managing a short-term memory to provide a more context-aware interaction.

Requirements

  • The openai package.
  • Environment variables with the OpenAI API key and organization ID.
  • Node.js version compatible with the openai package.

Constructor: new JGPTMem(apiKey, orgId)

Create a new JGPTMem instance.

  • apiKey (String): The OpenAI API key.
  • orgId (String): The organization ID.

Method: async talk(userInput)

Receives user input, constructs a prompt with short-term memory instructions, and returns the response from OpenAI's GPT-3.5-turbo model.

  • userInput (String): The user's question or command.
Returns
  • (String): The response from OpenAI's model, formatted as {"condensedMemory":condensedSummary, "response": "your answer"}.
Throws
  • Error: If there's any error in processing the prompt or fetching the response.

Example Usage

const jgptMem = new JGPTMem(process.env.OPENAI_API_KEY, process.env.OPENAI_ORG_ID);

const userInput = "Tell me about the weather today";

jgptMem.talk(userInput).then(result => console.log(result));

This code snippet creates an instance of JGPTMem, provides a user question, and prints the response.

Note

  • Properly configure environment variables (OPENAI_API_KEY, OPENAI_ORG_ID) in your .env file.
  • The talk method returns a Promise. Handle it appropriately in your code.
  • Error handling is crucial to manage unexpected responses or issues during execution.
  • The class emphasizes the importance of continuously updating and condensing short-term memory without significant loss of data.

JGPTMem provides a sophisticated way to utilize OpenAI's GPT-3.5-turbo model for interactive conversations, considering previous interactions and maintaining a condensed short-term memory for more contextual responses.

About

License:MIT License


Languages

Language:JavaScript 100.0%