only_ever_generator 0.0.9 → 1.0.1

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.
Files changed (34) hide show
  1. package/dist/bootstrap/app.js +84 -77
  2. package/dist/constants/prompts/card_gen_prompt.js +118 -25
  3. package/dist/constants/prompts/typology_prompt.js +8 -10
  4. package/dist/constants/source_data.js +1 -5
  5. package/dist/index.js +114 -14
  6. package/dist/service/open_ai_request.js +1 -0
  7. package/dist/typology_gen/generate_typology.js +15 -60
  8. package/package.json +3 -10
  9. package/readme.md +12 -3
  10. package/src/bootstrap/app.ts +100 -81
  11. package/src/class/services/open_ai_service.ts +18 -0
  12. package/src/constants/prompts/card_gen_prompt.ts +119 -25
  13. package/src/constants/prompts/typology_prompt.ts +8 -10
  14. package/src/constants/source_data.ts +0 -5
  15. package/src/index.ts +117 -20
  16. package/src/service/open_ai_request.ts +46 -0
  17. package/src/typology_gen/generate_typology.ts +11 -62
  18. package/dist/card_gen/generate_cards.js +0 -184
  19. package/dist/constants/api_constants.js +0 -7
  20. package/dist/parse/parse_card_response.js +0 -288
  21. package/dist/parse/parse_source_content.js +0 -62
  22. package/dist/parse/response_format_card.js +0 -210
  23. package/dist/parse/response_format_typology.js +0 -47
  24. package/dist/parse_response/parse_card_response.js +0 -288
  25. package/dist/services/open_ai_service.js +0 -60
  26. package/dist/utils/generate_args.js +0 -37
  27. package/src/card_gen/generate_cards.ts +0 -192
  28. package/src/constants/api_constants.ts +0 -3
  29. package/src/parse/parse_card_response.ts +0 -290
  30. package/src/services/open_ai_service.ts +0 -54
  31. package/src/utils/generate_args.ts +0 -38
  32. /package/src/{parse → class/parse}/parse_source_content.ts +0 -0
  33. /package/src/{parse → parse_response}/response_format_card.ts +0 -0
  34. /package/src/{parse → parse_response}/response_format_typology.ts +0 -0
package/dist/index.js CHANGED
@@ -1,18 +1,23 @@
1
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
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OnlyEverGenerator = void 0;
4
- // import express from "express";
5
- // import { returnCardGenPrompt } from "./constants/prompts/card_gen_prompt";
6
- // import { returnTypologyPrompt } from "./constants/prompts/typology_prompt";
7
- // import { GenerateArgs } from "./utils/generate_args";
8
- // import { returnFields, returnHeadings, returnSourceData } from "./constants/source_data";
9
- const app_1 = require("./bootstrap/app");
10
- Object.defineProperty(exports, "OnlyEverGenerator", { enumerable: true, get: function () { return app_1.OnlyEverGenerator; } });
11
- /// All the Codes Below uses express and are strictly for development purpose, while publishing the package, comment everything
12
- /// below this line
13
- // let oeGen = new OnlyEverGenerator(config.openAIKey,"gpt-3.5-turbo-1106" ,returnSourceData(),returnFields())
12
+ exports.GenerateArgs = exports.OnlyEverGenerator = void 0;
13
+ const parse_source_content_1 = require("./class/parse/parse_source_content");
14
+ const open_ai_service_1 = require("./class/services/open_ai_service");
15
+ // const app = express();
16
+ // const port = 3000;
17
+ // let openAiService = new OpenAiService(config.openAIKey);
18
+ // let oeGen = new OnlyEverGenerator(config.openAIKey, returnSourceData())
14
19
  // app.get('/', async (req, res) => {
15
- // let data = oeGen._returnParsedContent();
20
+ // let data = oeGen.returnParsedContent();
16
21
  // // let parsedData = parseResponse()
17
22
  // res.send(data);
18
23
  // });
@@ -40,8 +45,7 @@ Object.defineProperty(exports, "OnlyEverGenerator", { enumerable: true, get: fun
40
45
  // }
41
46
  // )
42
47
  // let typologyRequest = await oeGen.generate(
43
- // true,
44
- // true
48
+ // args,
45
49
  // );
46
50
  // res.send(typologyRequest);
47
51
  // }
@@ -49,3 +53,99 @@ Object.defineProperty(exports, "OnlyEverGenerator", { enumerable: true, get: fun
49
53
  // app.listen(port, () => {
50
54
  // console.log(`Example app listening at http://localhost:${port}`);
51
55
  // });
56
+ class OnlyEverGenerator {
57
+ constructor(apiKey, model, content) {
58
+ this.api_key = '';
59
+ this.parsedContent = '';
60
+ this.typologyResponse = {};
61
+ this.cardgenResponse = {};
62
+ this.summarizeResponse = {};
63
+ this.api_key = apiKey;
64
+ this.openAiService = new open_ai_service_1.OpenAiService(apiKey, model !== null && model !== void 0 ? model : 'gpt-3.5-turbo-1106');
65
+ this.parsedContent = new parse_source_content_1.ParseSourceContent(content).parse();
66
+ }
67
+ ;
68
+ generate(args) {
69
+ return __awaiter(this, void 0, void 0, function* () {
70
+ var _a, _b, _c;
71
+ const responseToReturn = [];
72
+ const whatNeedsToBeGenerated = args.getWhatNeedsToBeGenerated();
73
+ for (let elem of whatNeedsToBeGenerated)
74
+ if (elem == 'generate_tyopology') {
75
+ this.typologyResponse = yield this.generateTypology((_a = args.prompts.typology_prompt) !== null && _a !== void 0 ? _a : '', this.parsedContent);
76
+ responseToReturn.push(this.typologyResponse);
77
+ }
78
+ else if (elem == 'generate_card') {
79
+ this.cardgenResponse = yield this.generateCard((_b = args.prompts.card_gen_prompt) !== null && _b !== void 0 ? _b : '', this.parsedContent + JSON.stringify(this.typologyResponse));
80
+ responseToReturn.push(this.cardgenResponse);
81
+ }
82
+ else if (elem == 'generate_summary') {
83
+ this.summarizeResponse = yield this.generateSummary((_c = args.prompts.summary_prompt) !== null && _c !== void 0 ? _c : '', this.parsedContent);
84
+ responseToReturn.push(this.summarizeResponse);
85
+ }
86
+ return responseToReturn;
87
+ });
88
+ }
89
+ _returnParsedContent() {
90
+ return this.parsedContent;
91
+ }
92
+ generateCard(prompt, content) {
93
+ return __awaiter(this, void 0, void 0, function* () {
94
+ var _a;
95
+ let response = yield ((_a = this.openAiService) === null || _a === void 0 ? void 0 : _a.sendRequest(prompt, this.parsedContent));
96
+ response['type'] = 'card_gen';
97
+ return response;
98
+ });
99
+ }
100
+ generateTypology(prompt, content) {
101
+ return __awaiter(this, void 0, void 0, function* () {
102
+ var _a;
103
+ let response = yield ((_a = this.openAiService) === null || _a === void 0 ? void 0 : _a.sendRequest(prompt, this.parsedContent));
104
+ response['type'] = 'typology';
105
+ return response;
106
+ });
107
+ }
108
+ generateSummary(prompt, content) {
109
+ return __awaiter(this, void 0, void 0, function* () {
110
+ var _a;
111
+ let response = yield ((_a = this.openAiService) === null || _a === void 0 ? void 0 : _a.sendRequest(prompt, this.parsedContent));
112
+ response['type'] = 'summary';
113
+ return response;
114
+ });
115
+ }
116
+ }
117
+ exports.OnlyEverGenerator = OnlyEverGenerator;
118
+ class GenerateArgs {
119
+ constructor(generate_card, generate_typology, generate_summary, prompts = {
120
+ typology_prompt: '',
121
+ card_gen_prompt: '',
122
+ summary_prompt: ''
123
+ }) {
124
+ this.generate_card = false;
125
+ this.generate_typology = false;
126
+ this.generate_summary = false;
127
+ this.prompts = {
128
+ typology_prompt: '',
129
+ card_gen_prompt: '',
130
+ summary_prompt: ''
131
+ };
132
+ this.generate_card = generate_card;
133
+ this.generate_typology = generate_typology;
134
+ this.generate_summary = generate_summary;
135
+ this.prompts = prompts;
136
+ }
137
+ getWhatNeedsToBeGenerated() {
138
+ let returnData = [];
139
+ if (this.generate_typology == true) {
140
+ returnData.push('generate_tyopology');
141
+ }
142
+ if (this.generate_summary == true) {
143
+ returnData.push('generate_summary');
144
+ }
145
+ if (this.generate_card == true) {
146
+ returnData.push('generate_card');
147
+ }
148
+ return returnData;
149
+ }
150
+ }
151
+ exports.GenerateArgs = GenerateArgs;
@@ -43,6 +43,7 @@ function openAIRequest(content, prompt, token, model) {
43
43
  if (response.status == 200) {
44
44
  console.log('success');
45
45
  return (0, parse_openai_response_js_1.parseOpenAiSuccessResponse)(response.data);
46
+ // return JSON.parse(response.data.choices[0].message.content);
46
47
  }
47
48
  else {
48
49
  console.log('failed');
@@ -9,64 +9,19 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.GenerateTypology = void 0;
13
- class GenerateTypology {
14
- constructor(openAiService, prompt, content, expected_fields) {
15
- this.prompt = '';
16
- this.content = '';
17
- this.openAiService = openAiService;
18
- this.prompt = prompt;
19
- this.content = content;
20
- this.expectedFields = expected_fields.map((elem) => elem.toLowerCase());
21
- }
22
- generate() {
23
- return __awaiter(this, void 0, void 0, function* () {
24
- var _a, _b, _c;
25
- const response = yield ((_a = this.openAiService) === null || _a === void 0 ? void 0 : _a.sendRequest(this.prompt, this.content));
26
- response['type'] = 'typology';
27
- response.metadata = {
28
- "req_time": response.generated_at,
29
- "req_type": response.type,
30
- "req_tokens": (_b = response.usage_data) === null || _b === void 0 ? void 0 : _b.prompt_tokens,
31
- "res_tokens": (_c = response.usage_data) === null || _c === void 0 ? void 0 : _c.completion_tokens,
32
- };
33
- if (response.status_code == 200) {
34
- return this.parseTypologyOnSuccess(response);
35
- }
36
- else {
37
- return response;
38
- }
39
- });
40
- }
41
- parseTypologyOnSuccess(responseData) {
42
- responseData.metadata.status = "completed";
43
- const generatedContent = responseData.generated_content;
44
- return {
45
- status_code: 200,
46
- metadata: responseData.metadata,
47
- field: this.parseFields(generatedContent.field),
48
- concepts: generatedContent.concepts,
49
- facts: generatedContent.facts,
50
- generate_cards: generatedContent.generate_cards,
51
- summary_cards: generatedContent.summary_cards,
52
- type: responseData.type
53
- };
54
- }
55
- parseFields(fields) {
56
- const fieldKeys = ['primary_field', 'secondary_field', 'tertiary_field'];
57
- return fields.slice(0, 3).map((item, index) => ({
58
- [fieldKeys[index]]: item,
59
- "reconcile": !(this.expectedFields.includes(item.toLowerCase()))
60
- }));
61
- }
62
- parseTypologyOnFailure(responseData) {
63
- return __awaiter(this, void 0, void 0, function* () {
64
- responseData.metadata.status = 'failed';
65
- return {
66
- status_code: responseData.status_code,
67
- metadata: responseData.metadata,
68
- };
69
- });
70
- }
12
+ exports.generateTypology = void 0;
13
+ // import { openAIRequest } from "../service/open_ai_request.js";
14
+ function generateTypology(openAiService, prompt, message) {
15
+ return __awaiter(this, void 0, void 0, function* () {
16
+ try {
17
+ // let openAiService = new OpenAiService(config.openAIKey)
18
+ let response = yield openAiService.sendRequest(prompt, message);
19
+ // let response = returnTypologyData();
20
+ return response;
21
+ }
22
+ catch (e) {
23
+ throw e;
24
+ }
25
+ });
71
26
  }
72
- exports.GenerateTypology = GenerateTypology;
27
+ exports.generateTypology = generateTypology;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "only_ever_generator",
3
- "version": "0.0.9",
3
+ "version": "1.0.1",
4
4
  "main": "dist/index.js",
5
5
  "scripts": {
6
6
  "start": "nodemon dist/index.js",
@@ -10,6 +10,7 @@
10
10
  "keywords": [],
11
11
  "author": "shree",
12
12
  "license": "ISC",
13
+
13
14
  "devDependencies": {
14
15
  "@types/express": "^4.17.21",
15
16
  "@types/node": "^20.14.2",
@@ -18,14 +19,6 @@
18
19
  "typescript": "^5.4.5"
19
20
  },
20
21
  "dependencies": {
21
- "axios": "^1.7.2",
22
- "dotenv": "^16.4.5",
23
- "express": "^4.19.2"
24
- },
25
- "eslintConfig": {
26
- "parser": "typescript-eslint-parser",
27
- "plugins": [
28
- "typescript"
29
- ]
22
+ "axios": "^1.7.2"
30
23
  }
31
24
  }
package/readme.md CHANGED
@@ -8,16 +8,25 @@ The class [OnlyEverGenerator] is the Entry point for the generation module it ha
8
8
 
9
9
  The [OnlyEverGenerator] currently exposes a main method, [generate] which handles all types of generation and takes a Param
10
10
  ```
11
- generate(generate_typology = false,generate_card = false) method takes two args, generate_typology and generate_cards, which are both boolean.
11
+ GenerateArgs :
12
12
  For Eg:
13
13
  let oeGenerator = new OnlyEverGenerator(
14
14
  api_key,
15
15
  model,
16
16
  [Block1,Block2,Block3], // oe content model
17
17
  );
18
-
18
+ let args = new GenerateArgs(
19
+ true,
20
+ true,
21
+ false,
22
+ {
23
+ typology_prompt: typologyPrompt,
24
+ card_gen_prompt: cardPrompt,
25
+ summary_prompt: summary prompt,
26
+ }
27
+ )
19
28
 
20
- let responsesArray = await oeGenerator.generate(true,true);
29
+ let responsesArray = await oeGenerator.generate(args);
21
30
 
22
31
 
23
32
  ```
@@ -1,88 +1,107 @@
1
- import { GenerateCards } from "../card_gen/generate_cards";
2
- import { ParseSourceContent } from "../parse/parse_source_content";
3
- import { OpenAiService } from "../services/open_ai_service";
4
- import { returnCardGenPrompt } from "../constants/prompts/card_gen_prompt";
5
- import { returnTypologyPrompt } from "../constants/prompts/typology_prompt";
6
- import { GenerateTypology } from "../typology_gen/generate_typology";
7
- import { GenerateArgs } from "../utils/generate_args";
8
- import { returnFields } from "../constants/source_data";
9
- import { returnTypologyData } from "../parse/response_format_typology";
10
-
11
-
12
- /// OnlyEverGenerator
13
-
14
- export class OnlyEverGenerator{
15
- public api_key: string = '';
16
- public openAiService: OpenAiService;
17
- parsedContent: string = '';
18
- expectedFields: Array<string>
19
- constructor(apiKey:string, model: string, content: Array<any>, expected_fields: Array<string>){
20
- this.api_key = apiKey;
21
- this.openAiService = new OpenAiService(apiKey,model ?? 'gpt-3.5-turbo-1106');
22
- this.parsedContent = new ParseSourceContent(content).parse();
23
- this.expectedFields = returnFields()
24
- };
25
-
26
- typologyResponse = {};
27
- cardgenResponse = {};
28
- summarizeResponse = {};
1
+ // import { ParseSourceContent } from "../class/parse/parse_source_content";
2
+ // import { OpenAiService } from "../class/services/open_ai_service";
3
+
4
+
5
+
6
+ // export class OnlyEverGenerator{
7
+ // public api_key: string = '';
8
+ // public openAiService: OpenAiService | undefined;
9
+ // parsedContent: String = '';
10
+ // constructor(apiKey:string, content: Array<any>){
11
+ // this.api_key = apiKey;
12
+ // this.openAiService = new OpenAiService(apiKey);
13
+ // this.parsedContent = new ParseSourceContent(content).parse();
14
+ // };
15
+
16
+ // typologyResponse = {};
17
+ // cardgenResponse = {};
18
+ // summarizeResponse = {};
29
19
 
30
20
 
31
21
 
32
22
 
33
- async generate(
34
- generate_typology: boolean =false,
35
- generate_card : boolean = false,
36
- ): Promise<Array<any>> {
37
- let typologyPrompt = returnTypologyPrompt();
38
- let cardPrompt = returnCardGenPrompt();
39
- let args = new GenerateArgs(
40
- generate_card,
41
- generate_typology,
42
- false,
43
- {
44
- typology_prompt: typologyPrompt,
45
- card_gen_prompt: cardPrompt,
46
- summary_prompt: ''
47
- },
48
-
49
- );
50
- const responseToReturn = [];
51
- const whatNeedsToBeGenerated = args.getWhatNeedsToBeGenerated();
52
- for(let elem of whatNeedsToBeGenerated)
53
- if(elem == 'generate_tyopology'){
54
- this.typologyResponse = await this.generateTypology(args.prompts.typology_prompt ?? '');
55
- responseToReturn.push(this.typologyResponse);
56
- }else if(elem == 'generate_card'){
57
- this.cardgenResponse = await this.generateCard(args.prompts.card_gen_prompt ?? '', this.parsedContent + JSON.stringify(this.typologyResponse));
58
- responseToReturn.push(this.cardgenResponse);
59
- }
60
-
61
- return responseToReturn;
23
+ // async generate(
24
+ // args: GenerateArgs
25
+ // ): Promise<Array<any>> {
26
+ // const responseToReturn = [];
27
+ // const whatNeedsToBeGenerated = args.getWhatNeedsToBeGenerated();
28
+ // for(let elem of whatNeedsToBeGenerated)
29
+ // if(elem == 'generate_tyopology'){
30
+ // this.typologyResponse = await this.generateTypology(args.prompts.typology_prompt ?? '', this.parsedContent);
31
+ // responseToReturn.push(this.typologyResponse);
32
+ // }else if(elem == 'generate_card'){
33
+
34
+ // this.cardgenResponse = await this.generateCard(args.prompts.card_gen_prompt ?? '', this.parsedContent + JSON.stringify(this.typologyResponse));
35
+ // responseToReturn.push(this.cardgenResponse);
36
+ // }else if(elem == 'generate_summary'){
37
+ // this.summarizeResponse = await this.generateSummary(args.prompts.summary_prompt ?? '', this.parsedContent);
38
+ // responseToReturn.push(this.summarizeResponse);
39
+ // }
40
+
41
+ // return responseToReturn;
62
42
 
63
- }
43
+ // }
64
44
 
65
- _returnParsedContent(){
66
- return this.parsedContent;
67
- }
68
-
69
-
70
- async generateCard(prompt: string, content: string){
71
- let generateCards = new GenerateCards(this.openAiService);
72
- let cardgenResponse = await generateCards.generateCards(prompt ?? '', content);
73
- // let response = await this.openAiService?.sendRequest(prompt,this.parsedContent);
74
- // response['type'] = 'card_gen';
75
- return cardgenResponse;
76
- }
77
-
78
- async generateTypology(prompt:string){
79
- let response = await new GenerateTypology(
80
- this.openAiService,
81
- prompt,
82
- this.parsedContent,
83
- this.expectedFields,
84
- ).generate();
85
- return response;
86
- }
45
+ // returnParsedContent(){
46
+ // return this.parsedContent;
47
+ // }
48
+
49
+
50
+ // async generateCard(prompt: String, content: String){
51
+ // let response = await this.openAiService?.sendRequest(prompt,this.parsedContent);
52
+ // response['type'] = 'card_gen';
53
+ // return response;
54
+ // }
55
+
56
+ // async generateTypology(prompt:String,content:String){
57
+ // let response = await this.openAiService?.sendRequest(prompt,this.parsedContent);
58
+ // response['type'] = 'typology';
59
+ // return response;
60
+ // }
61
+
62
+ // async generateSummary(prompt:String,content:String){
63
+ // let response = await this.openAiService?.sendRequest(prompt,this.parsedContent);
64
+ // response['type']= 'summary';
65
+ // return response;
66
+ // }
87
67
 
88
- }
68
+ // }
69
+
70
+ // export class GenerateArgs{
71
+ // public generate_card : boolean = false;
72
+ // public generate_typology: boolean = false;
73
+ // public generate_summary: boolean = false;
74
+ // public prompts = {
75
+ // typology_prompt: '',
76
+ // card_gen_prompt: '',
77
+ // summary_prompt: ''
78
+ // }
79
+
80
+ // constructor(generate_card: boolean,generate_typology: boolean, generate_summary: boolean, prompts = {
81
+ // typology_prompt: '',
82
+ // card_gen_prompt: '',
83
+ // summary_prompt: ''
84
+ // }){
85
+ // this.generate_card = generate_card;
86
+ // this.generate_typology = generate_typology;
87
+ // this.generate_summary = generate_summary;
88
+ // this.prompts = prompts
89
+ // }
90
+
91
+ // getWhatNeedsToBeGenerated(){
92
+ // let returnData = [];
93
+ // if(this.generate_typology == true){
94
+ // returnData.push('generate_tyopology')
95
+ // }
96
+ // if(this.generate_summary == true){
97
+ // returnData.push('generate_summary')
98
+ // }
99
+ // if(this.generate_card == true){
100
+ // returnData.push('generate_card');
101
+ // }
102
+ // return returnData;
103
+
104
+
105
+ // }
106
+
107
+ // }
@@ -0,0 +1,18 @@
1
+ import { openAIRequest } from "../../service/open_ai_request";
2
+
3
+
4
+ export class OpenAiService{
5
+ public api_key: String;
6
+ public model: String;
7
+
8
+
9
+ constructor(apiKey: String, model:String){
10
+ this.api_key = apiKey;
11
+ this.model =model
12
+ }
13
+
14
+ async sendRequest(prompt: String,content: String){
15
+ return await openAIRequest(content,prompt,this.api_key,this.model);
16
+ }
17
+ }
18
+