only_ever_generator 0.1.5 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.gapFilling = void 0;
4
+ function isEmpty(obj) {
5
+ return Object.keys(obj).length === 0;
6
+ }
7
+ function gapFilling(typologyResponse, cardgenResponse) {
8
+ var _a, _b, _c, _d;
9
+ let allConcepts = [];
10
+ let allFacts = [];
11
+ let generatedConceptsList = [];
12
+ let generatedFactsList = [];
13
+ if (!isEmpty(typologyResponse)) {
14
+ allConcepts.push(...((_a = typologyResponse.concepts) !== null && _a !== void 0 ? _a : []));
15
+ allFacts.push(...((_b = typologyResponse === null || typologyResponse === void 0 ? void 0 : typologyResponse.facts) !== null && _b !== void 0 ? _b : []));
16
+ }
17
+ if (!isEmpty(cardgenResponse)) {
18
+ allConcepts.push(...((_c = cardgenResponse.missing_concepts) !== null && _c !== void 0 ? _c : []));
19
+ allFacts.push(...((_d = cardgenResponse.missing_facts) !== null && _d !== void 0 ? _d : []));
20
+ }
21
+ for (let card of cardgenResponse.cards_data) {
22
+ if (card.concepts.length != 0) {
23
+ generatedConceptsList.push(...card.concepts);
24
+ }
25
+ if (card.facts.length != 0) {
26
+ generatedFactsList.push(...card.facts);
27
+ }
28
+ }
29
+ let generatedConceptsSet = Array.from(new Set(generatedConceptsList));
30
+ let generatedFactsSet = Array.from(new Set(generatedFactsList));
31
+ let remainingConcepts = allConcepts.filter((item) => !generatedConceptsSet.includes(item));
32
+ let remainingFacts = allFacts.filter((item) => !generatedFactsSet.includes(item));
33
+ return {
34
+ // allConcepts: allConcepts,
35
+ // allFacts: allFacts,
36
+ // generatedConcepts: generatedConceptsSet,
37
+ // generatedFacts: generatedFactsSet,
38
+ remainingConcepts: remainingConcepts,
39
+ remainingFacts: remainingFacts,
40
+ };
41
+ }
42
+ exports.gapFilling = gapFilling;
package/dist/index.js CHANGED
@@ -1,54 +1,59 @@
1
1
  "use strict";
2
- // import express from "express";
3
- // import { returnCardGenPrompt } from "./constants/prompts/card_gen_prompt";
4
- // import { returnTypologyPrompt } from "./constants/prompts/typology_prompt";
5
- // import { GenerateArgs } from "./utils/generate_args";
6
- // import { returnFields, returnHeadings, returnSourceData } from "./constants/source_data";
7
- // import config from "./config";
8
- // const app = express();
9
- // const port = 3000;
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
10
14
  Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.OnlyEverGenerator = void 0;
15
+ const express_1 = __importDefault(require("express"));
16
+ const card_gen_prompt_1 = require("./constants/prompts/card_gen_prompt");
17
+ const typology_prompt_1 = require("./constants/prompts/typology_prompt");
18
+ const generate_args_1 = require("./utils/generate_args");
19
+ const source_data_1 = require("./constants/source_data");
20
+ const config_1 = __importDefault(require("./config"));
21
+ const app = (0, express_1.default)();
22
+ const port = 3000;
12
23
  const app_1 = require("./bootstrap/app");
13
- Object.defineProperty(exports, "OnlyEverGenerator", { enumerable: true, get: function () { return app_1.OnlyEverGenerator; } });
24
+ /// While Publishing the package , and using this code as a separate npm module
25
+ /// uncomment the below line and comment all the others, expect the import of OnlyEverGenerator
26
+ // export {OnlyEverGenerator};
14
27
  /// All the Codes Below uses express and are strictly for development purpose, while publishing the package, comment everything
15
28
  /// below this line
16
- // let oeGen = new OnlyEverGenerator(config.openAIKey,"gpt-3.5-turbo-1106" ,returnSourceData(),returnFields())
17
- // app.get('/', async (req, res) => {
18
- // let data = oeGen._returnParsedContent();
19
- // // let parsedData = parseResponse()
20
- // res.send(data);
21
- // });
22
- // app.get('/openAI', async (req,res)=> {
23
- // // let prompt = returnPromt();
24
- // let prompt = returnCardGenPrompt();
25
- // let content = returnSourceData().toString()
26
- // let headings = returnHeadings();
27
- // // let aiRequest = await openAIRequest(prompt,content);
28
- // let aiRequest = await oeGen.generateCard(prompt,content, false);
29
- // res.send(aiRequest);
30
- // });
31
- // app.get('/typology', async(req,res)=>{
32
- // {
33
- // let typologyPrompt = returnTypologyPrompt();
34
- // let cardPrompt = returnCardGenPrompt();
35
- // let args = new GenerateArgs(
36
- // true,
37
- // true,
38
- // false,
39
- // {
40
- // typology_prompt: typologyPrompt,
41
- // card_gen_prompt: cardPrompt,
42
- // summary_prompt: "",
43
- // }
44
- // )
45
- // let typologyRequest = await oeGen.generate(
46
- // true,
47
- // true
48
- // );
49
- // res.send(typologyRequest);
50
- // }
51
- // });
52
- // app.listen(port, () => {
53
- // console.log(`Example app listening at http://localhost:${port}`);
54
- // });
29
+ let oeGen = new app_1.OnlyEverGenerator(config_1.default.openAIKey, "gpt-3.5-turbo-1106", (0, source_data_1.returnSourceData)(), (0, source_data_1.returnFields)());
30
+ app.get('/', (req, res) => __awaiter(void 0, void 0, void 0, function* () {
31
+ // let data = oeGen.returnParsedContent();
32
+ // let parsedData = parseResponse()
33
+ res.send(200);
34
+ }));
35
+ app.get('/openAI', (req, res) => __awaiter(void 0, void 0, void 0, function* () {
36
+ // let prompt = returnPromt();
37
+ let prompt = (0, card_gen_prompt_1.returnCardGenPrompt)();
38
+ let content = (0, source_data_1.returnSourceData)().toString();
39
+ let headings = (0, source_data_1.returnHeadings)();
40
+ // let aiRequest = await openAIRequest(prompt,content);
41
+ let aiRequest = yield oeGen.generateCard(prompt, content, false);
42
+ res.send(aiRequest);
43
+ }));
44
+ app.get('/typology', (req, res) => __awaiter(void 0, void 0, void 0, function* () {
45
+ {
46
+ let typologyPrompt = (0, typology_prompt_1.returnTypologyPrompt)();
47
+ let cardPrompt = (0, card_gen_prompt_1.returnCardGenPrompt)();
48
+ let args = new generate_args_1.GenerateArgs(true, true, false, {
49
+ typology_prompt: typologyPrompt,
50
+ card_gen_prompt: cardPrompt,
51
+ summary_prompt: "",
52
+ });
53
+ let typologyRequest = yield oeGen.generate(true, true);
54
+ res.send(typologyRequest);
55
+ }
56
+ }));
57
+ app.listen(port, () => {
58
+ console.log(`Example app listening at http://localhost:${port}`);
59
+ });
@@ -1,57 +1,57 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.openAIRequest = void 0;
16
- const axios_1 = __importDefault(require("axios"));
17
- const parse_openai_response_js_1 = require("../utils/parse_openai_response.js");
18
- function openAIRequest(content, prompt, token, model) {
19
- return __awaiter(this, void 0, void 0, function* () {
20
- try {
21
- let message = [
22
- {
23
- "role": "system", "content": prompt
24
- }, {
25
- "role": "user", "content": content
26
- }
27
- ];
28
- const url = 'https://api.openai.com/v1/chat/completions';
29
- let response = yield axios_1.default.post(url,
30
- //data
31
- {
32
- "model": model,
33
- "messages": message,
34
- "response_format": { "type": "json_object" },
35
- },
36
- ///config
37
- {
38
- headers: {
39
- Authorization: "Bearer " + token,
40
- "Content-Type": ['application/json']
41
- },
42
- });
43
- if (response.status == 200) {
44
- console.log('success');
45
- return (0, parse_openai_response_js_1.parseOpenAiSuccessResponse)(response.data);
46
- }
47
- else {
48
- console.log('failed');
49
- return response.statusText;
50
- }
51
- }
52
- catch (err) {
53
- return (0, parse_openai_response_js_1.parseOpenAiFailureResponse)(err.response);
54
- }
55
- });
56
- }
57
- exports.openAIRequest = openAIRequest;
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.openAIRequest = void 0;
16
+ const axios_1 = __importDefault(require("axios"));
17
+ const parse_openai_response_js_1 = require("../utils/parse_openai_response.js");
18
+ function openAIRequest(content, prompt, token, model) {
19
+ return __awaiter(this, void 0, void 0, function* () {
20
+ try {
21
+ let message = [
22
+ {
23
+ "role": "system", "content": prompt
24
+ }, {
25
+ "role": "user", "content": content
26
+ }
27
+ ];
28
+ const url = 'https://api.openai.com/v1/chat/completions';
29
+ let response = yield axios_1.default.post(url,
30
+ //data
31
+ {
32
+ "model": model,
33
+ "messages": message,
34
+ "response_format": { "type": "json_object" },
35
+ },
36
+ ///config
37
+ {
38
+ headers: {
39
+ Authorization: "Bearer " + token,
40
+ "Content-Type": ['application/json']
41
+ },
42
+ });
43
+ if (response.status == 200) {
44
+ console.log('success');
45
+ return (0, parse_openai_response_js_1.parseOpenAiSuccessResponse)(response.data);
46
+ }
47
+ else {
48
+ console.log('failed');
49
+ return response.statusText;
50
+ }
51
+ }
52
+ catch (err) {
53
+ return (0, parse_openai_response_js_1.parseOpenAiFailureResponse)(err.response);
54
+ }
55
+ });
56
+ }
57
+ exports.openAIRequest = openAIRequest;
package/package.json CHANGED
@@ -1,33 +1,33 @@
1
- {
2
- "name": "only_ever_generator",
3
- "version": "0.1.5",
4
- "main": "dist/index.js",
5
- "scripts": {
6
- "start": "npm run build && nodemon dist/index.js",
7
- "build": "tsc",
8
- "test": "echo \"Error: no test specified\" && exit 1"
9
- },
10
- "keywords": [],
11
- "author": "shree",
12
- "license": "ISC",
13
- "devDependencies": {
14
- "@types/express": "^4.17.21",
15
- "@types/node": "^20.14.2",
16
- "nodemon": "^3.1.3",
17
- "ts-node": "^10.9.2",
18
- "typescript": "^5.4.5",
19
- "dotenv": "^16.4.5",
20
- "express": "^4.19.2"
21
-
22
- },
23
- "dependencies": {
24
- "axios": "^1.7.2"
25
-
26
- },
27
- "eslintConfig": {
28
- "parser": "typescript-eslint-parser",
29
- "plugins": [
30
- "typescript"
31
- ]
32
- }
33
- }
1
+ {
2
+ "name": "only_ever_generator",
3
+ "version": "0.1.7",
4
+ "main": "dist/index.js",
5
+ "scripts": {
6
+ "start": "npm run build && nodemon dist/index.js",
7
+ "build": "tsc",
8
+ "test": "echo \"Error: no test specified\" && exit 1"
9
+ },
10
+ "keywords": [],
11
+ "author": "shree",
12
+ "license": "ISC",
13
+ "devDependencies": {
14
+ "@types/express": "^4.17.21",
15
+ "@types/node": "^20.14.2",
16
+ "nodemon": "^3.1.3",
17
+ "ts-node": "^10.9.2",
18
+ "typescript": "^5.4.5",
19
+ "dotenv": "^16.4.5",
20
+ "express": "^4.19.2"
21
+ },
22
+ "dependencies": {
23
+ "axios": "^1.7.2"
24
+
25
+
26
+ },
27
+ "eslintConfig": {
28
+ "parser": "typescript-eslint-parser",
29
+ "plugins": [
30
+ "typescript"
31
+ ]
32
+ }
33
+ }
package/readme.md CHANGED
@@ -1,23 +1,23 @@
1
- This is a NPM package that handles the all the ai generation for _source on OnlyEver.
2
- The Generation includes, Knowledge Taxonomy , Summary and Test Cards data for the _source.
3
-
4
- The class [OnlyEverGenerator] is the Entry point for the generation module it has two required fields,
5
- [api_key] which is open ai token
6
- [model] open ai model : 'gpt-3.5-turbo-1106'
7
- [content] source content : Array<BaseBlocks>
8
-
9
- The [OnlyEverGenerator] currently exposes a main method, [generate] which handles all types of generation and takes a Param
10
- ```
11
- generate(generate_typology = false,generate_card = false) method takes two args, generate_typology and generate_cards, which are both boolean.
12
- For Eg:
13
- let oeGenerator = new OnlyEverGenerator(
14
- api_key,
15
- model,
16
- [Block1,Block2,Block3], // oe content model
17
- );
18
-
19
-
20
- let responsesArray = await oeGenerator.generate(true,true);
21
-
22
-
23
- ```
1
+ This is a NPM package that handles the all the ai generation for _source on OnlyEver.
2
+ The Generation includes, Knowledge Taxonomy , Summary and Test Cards data for the _source.
3
+
4
+ The class [OnlyEverGenerator] is the Entry point for the generation module it has two required fields,
5
+ [api_key] which is open ai token
6
+ [model] open ai model : 'gpt-3.5-turbo-1106'
7
+ [content] source content : Array<BaseBlocks>
8
+
9
+ The [OnlyEverGenerator] currently exposes a main method, [generate] which handles all types of generation and takes a Param
10
+ ```
11
+ generate(generate_typology = false,generate_card = false) method takes two args, generate_typology and generate_cards, which are both boolean.
12
+ For Eg:
13
+ let oeGenerator = new OnlyEverGenerator(
14
+ api_key,
15
+ model,
16
+ [Block1,Block2,Block3], // oe content model
17
+ );
18
+
19
+
20
+ let responsesArray = await oeGenerator.generate(true,true);
21
+
22
+
23
+ ```