updating for openai

This commit is contained in:
John Facey
2023-01-04 02:16:15 -06:00
parent e32c3bd207
commit c6f8f646da
5 changed files with 1508 additions and 3 deletions

View File

@@ -27,6 +27,8 @@ It should be assumed every server will need its own Airtable Base and the coresp
* **!help** - Lists the available commands: *!help* * **!help** - Lists the available commands: *!help*
* **!chat** - Queries OpenAI Model: *!chat what is a pizza*
* **!search** - Searches the RSS Sources: *!search google* * **!search** - Searches the RSS Sources: *!search google*
* **!get** - Retrieves Search By Index: *!get 25* * **!get** - Retrieves Search By Index: *!get 25*

21
commands/chat.js Normal file
View File

@@ -0,0 +1,21 @@
var libFlayer = require("../libFlayer.js");
module.exports = {
name: 'chat',
description: 'Chat',
async execute(message, args) {
if (args.length < 1) {
message.reply(`Please use in !chat [chat query]`);
return;
}
try {
var question = encodeURIComponent(args.join(" "));
var response = await libFlayer.getChat(question);
message.reply(`${message.author.username} ${response}`);
} catch (err) {
//message.reply(err.toString());
}
}
};

View File

@@ -6,6 +6,14 @@ var jsonfile = require('jsonfile');
var fs = require('fs'); var fs = require('fs');
var file = ('./feeds.json'); var file = ('./feeds.json');
var Airtable = require('airtable'); var Airtable = require('airtable');
const { Configuration, OpenAIApi } = require('openai');
const configuration = new Configuration({
organization: process.env.OPENAI_ORG,
apiKey: process.env.OPENAI_API
});
const openai = new OpenAIApi(configuration);
// Data Structures // Data Structures
var feeds = []; var feeds = [];
@@ -29,6 +37,7 @@ let answerData = {
source: `` source: ``
} }
//Local DB for quotes //Local DB for quotes
const { const {
quotes quotes
@@ -420,6 +429,23 @@ exports.getStock = async function (stock) {
return stockData; return stockData;
} }
/**
* getChat - Returns libFlayer feed sources
* @constructor
*/
exports.getChat = async function (question) {
const response = await openai.createCompletion({
model: "text-davinci-003",
prompt: question,
temperature: 0,
max_tokens: 100
});
var responseData = response.data.choices[0].text;
return responseData;
}
/** /**

1458
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{ {
"name": "link-flayer", "name": "link-flayer",
"version": "1.0.3", "version": "1.0.4",
"description": "Discord RSS News Bot", "description": "Discord RSS News Bot",
"main": "index.js", "main": "index.js",
"dependencies": { "dependencies": {
@@ -8,6 +8,7 @@
"@discordjs/rest": "^0.5.0", "@discordjs/rest": "^0.5.0",
"airtable": "^0.11.1", "airtable": "^0.11.1",
"axios": "^0.24.0", "axios": "^0.24.0",
"chatgpt": "^1.4.0",
"discord-api-types": "^0.35.0", "discord-api-types": "^0.35.0",
"discord.js": "^13.8.1", "discord.js": "^13.8.1",
"dotenv": "^10.0.0", "dotenv": "^10.0.0",
@@ -16,6 +17,7 @@
"js-doc": "^0.5.0", "js-doc": "^0.5.0",
"jsonfile": "^6.1.0", "jsonfile": "^6.1.0",
"mathjs": "^10.6.4", "mathjs": "^10.6.4",
"openai": "^3.1.0",
"parse-files": "^0.1.1", "parse-files": "^0.1.1",
"rss-parser": "^3.12.0" "rss-parser": "^3.12.0"
}, },