LibreChat/api/app/clients/tools/SelfReflection.js
Danny Avila e5336039fc
ci(backend-review.yml): add linter step to the backend review workflow (#625)
* ci(backend-review.yml): add linter step to the backend review workflow

* chore(backend-review.yml): remove prettier from lint-action configuration

* chore: apply new linting workflow

* chore(lint-staged.config.js): reorder lint-staged tasks for JavaScript and TypeScript files

* chore(eslint): update ignorePatterns in .eslintrc.js
chore(lint-action): remove prettier option in backend-review.yml
chore(package.json): add lint and lint:fix scripts

* chore(lint-staged.config.js): remove prettier --write command for js, jsx, ts, tsx files

* chore(titleConvo.js): remove unnecessary console.log statement
chore(titleConvo.js): add missing comma in options object

* chore: apply linting to all files

* chore(lint-staged.config.js): update lint-staged configuration to include prettier formatting
2023-07-14 09:36:49 -04:00

28 lines
932 B
JavaScript

const { Tool } = require('langchain/tools');
class SelfReflectionTool extends Tool {
constructor({ message, isGpt3 }) {
super();
this.reminders = 0;
this.name = 'self-reflection';
this.description =
'Take this action to reflect on your thoughts & actions. For your input, provide answers for self-evaluation as part of one input, using this space as a canvas to explore and organize your ideas in response to the user\'s message. You can use multiple lines for your input. Perform this action sparingly and only when you are stuck.';
this.message = message;
this.isGpt3 = isGpt3;
// this.returnDirect = true;
}
async _call(input) {
return this.selfReflect(input);
}
async selfReflect() {
if (this.isGpt3) {
return 'I should finalize my reply as soon as I have satisfied the user\'s query.';
} else {
return '';
}
}
}
module.exports = SelfReflectionTool;