Code Monkey home page Code Monkey logo

promptmanager's Introduction

OOP Coding - PromptManager

This project implement a prompt manager, recording interactions with GPT. There three types of interactions: default, Dalle and Timestamp.

Each of them includes different features. Taking advantadge of prompt manager, you can add, show, modify and delete interactions.

License: MIT

Test

Build

Enter commands below in the terminal, there will be test output.

You can write your own code in main.js to play around.

git clone [email protected]:Daniel777y/PromptManager.git
cd PromptManager
npm i
node main.js

Usage

Here is the introduction of prompt manager. It will show you how to create a manager, add a new interaction, show information of interactions, delete some of them, and so on.

PromptManager

We can create a new prompt manager.

const manager = new PromptManager();

getCount

This function will show the number of interactions currently stored in the manager.

console.log(manager.getCount());

getType

This function will show the type of an interaction (0 is the first one).

console.log(manager.getType(0));

isDalle

This function will return a boolean value, true for Dalle interaction, false for not (0 is the first one).

console.log(manager.isDalle(0));

show

This function will show the information of an interaction (0 is the first one).

manager.show(0);

This is an example output:

-----------------------------------------------------------------------------
Interaction 3 is a Default one.
Prompt: A secret prompt...
Response: A public response...
Feedback: 0
-----------------------------------------------------------------------------

showAll

This function will show all the interactions.

manager.showAll();

showAllDefault

This function will show all the default interactions (only text prompt and response).

manager.showAllDefault();

showAllDalle

This function will show all the Dalle interactions.

manager.showAllDalle();

remove

This function will remove an interaction from manager (0 is the first one).

manager.remove(0);

removeAll

This function will remove all the interactions.

manager.removeAll();

setFeedback

This function has 2 parameters i and x, meaning that you set the i-th interaction's feedback to x.

Note that x should be an integer in [-1, 0, 1], -1 for bad, 0 from null or normal, 1 for good.

manager.setFeedback(0, 1);

addInteraction

This function receives an object as the parameter, creating a default interaction (only text prompt and response).

// change the value to create your own default interaction!
manager.addInteraction({
  prompt: '',
  response: '',
  feedback: 0,
});

addDalleInteraction

This function receives an object as the parameter, creating a Dalle interaction (with images in prompt and response).

// change the value to create your own Dalle interaction!
manager.addDalleInteraction({
  prompt: '',
  promptImgUrl: '404',
  response: '',
  responseImgUrl: '404',
  feedback: 0,
});

addTimestampInteraction

manager.addTimestampInteraction({
  prompt: '',
  response: '',
  timestamp: Date.now(),
  feedback: 0,
});

Implement of Interaction

Interaction

Fields

A default interaction contains fields listed below:

{
  id: integer, a unique id of this interaction in the manager.
  type: string, default value is 'Default'.
  prompt: string, default value is ''.
  response: string, default value is ''.
  feedback: integer, one of [-1, 0, 1].
}

Functions

A default interaction contains functions listed below:

getType(): return a string represents its type.
isDalle(): return a boolean value represents if it is a Dalle interaction.
getId(): return an integer which is its id.
setId(id): update its id.
getFeedback(): return an integer which is its feedback.
setFeedback(feedback): update its feedback.
show(): print the information.

DalleInteraction

Fields

A Dalle interaction contains all the fields in a default interaction. Other than that, it also contains two images in prompt and response.

{
  promptImgUrl: string, default value is '404'.
  responseImgUrl: string, default value is '404'.
}

Functions

A Dalle interactions contains all the functions in a default interaction.

TimestampInteraction

Fields

A Timestamp interaction contains all the fields in a default interaction. Other than that, it also contains a timestamp.

{
  timestamp: a number, Date.now()
}

Functions

A Timestamp interactions contains all the functions in a default interaction.

Creative Feature

Feedback

In ChatGPT, whenever you ask a question then get response, you can click a button "good response" or "bad response" to give your feedback.

This feedback is useful to update the training data and improve GPT's performance. In my code, every interaction contains a field feedback, where 1 for good response, 0 for null value or normal response, -1 for bad response.

By using the show() method, a prompt manager will display the feedback of interactions, or you can reset the feedback by using setFeedback(i, x) method.

showAllDeauflt | showAllDalle | showAllTimestamp

These three functions filter corresponding type of interactions.

promptmanager's People

Contributors

daniel777y avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.