only_ever_generator 1.0.3 → 1.0.5
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.
- package/dist/bootstrap/app.d.ts +91 -0
- package/dist/bootstrap/app.d.ts.map +1 -0
- package/dist/bootstrap/app.js +120 -84
- package/dist/bootstrap/app.js.map +1 -0
- package/dist/card_gen/generate_cards.d.ts +7 -0
- package/dist/card_gen/generate_cards.d.ts.map +1 -0
- package/dist/card_gen/generate_cards.js +60 -0
- package/dist/card_gen/generate_cards.js.map +1 -0
- package/dist/config.d.ts +8 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +4 -1
- package/dist/config.js.map +1 -0
- package/dist/constants/api_constants.d.ts +3 -0
- package/dist/constants/api_constants.d.ts.map +1 -0
- package/dist/constants/api_constants.js +11 -0
- package/dist/constants/api_constants.js.map +1 -0
- package/dist/constants/prompt_data.d.ts +5 -0
- package/dist/constants/prompt_data.d.ts.map +1 -0
- package/dist/constants/prompt_data.js +303 -0
- package/dist/constants/prompt_data.js.map +1 -0
- package/dist/constants/prompts/card_gen_prompt.d.ts +2 -0
- package/dist/constants/prompts/card_gen_prompt.d.ts.map +1 -0
- package/dist/constants/prompts/card_gen_prompt.js +100 -203
- package/dist/constants/prompts/card_gen_prompt.js.map +1 -0
- package/dist/constants/prompts/typology_prompt.d.ts +2 -0
- package/dist/constants/prompts/typology_prompt.d.ts.map +1 -0
- package/dist/constants/prompts/typology_prompt.js +78 -34
- package/dist/constants/prompts/typology_prompt.js.map +1 -0
- package/dist/constants/source_data.d.ts +173 -0
- package/dist/constants/source_data.d.ts.map +1 -0
- package/dist/constants/source_data.js +962 -10
- package/dist/constants/source_data.js.map +1 -0
- package/dist/embedding_generation/consolidation/global_consolidation.d.ts +33 -0
- package/dist/embedding_generation/consolidation/global_consolidation.d.ts.map +1 -0
- package/dist/embedding_generation/consolidation/global_consolidation.js +76 -0
- package/dist/embedding_generation/consolidation/global_consolidation.js.map +1 -0
- package/dist/embedding_generation/consolidation/local_consolidation.d.ts +39 -0
- package/dist/embedding_generation/consolidation/local_consolidation.d.ts.map +1 -0
- package/dist/embedding_generation/consolidation/local_consolidation.js +105 -0
- package/dist/embedding_generation/consolidation/local_consolidation.js.map +1 -0
- package/dist/embedding_generation/consolidation/write_consolidated_data.d.ts +46 -0
- package/dist/embedding_generation/consolidation/write_consolidated_data.d.ts.map +1 -0
- package/dist/embedding_generation/consolidation/write_consolidated_data.js +69 -0
- package/dist/embedding_generation/consolidation/write_consolidated_data.js.map +1 -0
- package/dist/embedding_generation/generate_embeddings.d.ts +28 -0
- package/dist/embedding_generation/generate_embeddings.d.ts.map +1 -0
- package/dist/embedding_generation/generate_embeddings.js +54 -0
- package/dist/embedding_generation/generate_embeddings.js.map +1 -0
- package/dist/embedding_generation/parse_embedding_response.d.ts +26 -0
- package/dist/embedding_generation/parse_embedding_response.d.ts.map +1 -0
- package/dist/embedding_generation/parse_embedding_response.js +29 -0
- package/dist/embedding_generation/parse_embedding_response.js.map +1 -0
- package/dist/gap_fill/calculate_gap_fill.d.ts +5 -0
- package/dist/gap_fill/calculate_gap_fill.d.ts.map +1 -0
- package/dist/gap_fill/calculate_gap_fill.js +43 -0
- package/dist/gap_fill/calculate_gap_fill.js.map +1 -0
- package/dist/helper/qdrant_db_methods.d.ts +40 -0
- package/dist/helper/qdrant_db_methods.d.ts.map +1 -0
- package/dist/helper/qdrant_db_methods.js +63 -0
- package/dist/helper/qdrant_db_methods.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +86 -149
- package/dist/index.js.map +1 -0
- package/dist/logger.d.ts +6 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +42 -0
- package/dist/logger.js.map +1 -0
- package/dist/parse/parse_card/parse_cloze_card.d.ts +10 -0
- package/dist/parse/parse_card/parse_cloze_card.d.ts.map +1 -0
- package/dist/parse/parse_card/parse_cloze_card.js +126 -0
- package/dist/parse/parse_card/parse_cloze_card.js.map +1 -0
- package/dist/parse/parse_card/parse_flash_cards.d.ts +19 -0
- package/dist/parse/parse_card/parse_flash_cards.d.ts.map +1 -0
- package/dist/parse/parse_card/parse_flash_cards.js +34 -0
- package/dist/parse/parse_card/parse_flash_cards.js.map +1 -0
- package/dist/parse/parse_card/parse_match_card.d.ts +16 -0
- package/dist/parse/parse_card/parse_match_card.d.ts.map +1 -0
- package/dist/parse/parse_card/parse_match_card.js +82 -0
- package/dist/parse/parse_card/parse_match_card.js.map +1 -0
- package/dist/parse/parse_card/parse_mcq_card.d.ts +24 -0
- package/dist/parse/parse_card/parse_mcq_card.d.ts.map +1 -0
- package/dist/parse/parse_card/parse_mcq_card.js +104 -0
- package/dist/parse/parse_card/parse_mcq_card.js.map +1 -0
- package/dist/parse/parse_card_response.d.ts +19 -0
- package/dist/parse/parse_card_response.d.ts.map +1 -0
- package/dist/parse/parse_card_response.js +100 -0
- package/dist/parse/parse_card_response.js.map +1 -0
- package/dist/parse/parse_source_content.d.ts +25 -0
- package/dist/parse/parse_source_content.d.ts.map +1 -0
- package/dist/parse/parse_source_content.js +186 -0
- package/dist/parse/parse_source_content.js.map +1 -0
- package/dist/parse/response_format_card.d.ts +177 -0
- package/dist/parse/response_format_card.d.ts.map +1 -0
- package/dist/parse/response_format_card.js +372 -0
- package/dist/parse/response_format_card.js.map +1 -0
- package/dist/parse/response_format_typology.d.ts +2 -0
- package/dist/parse/response_format_typology.d.ts.map +1 -0
- package/dist/{parse_response → parse}/response_format_typology.js +18 -18
- package/dist/parse/response_format_typology.js.map +1 -0
- package/dist/services/open_ai_service.d.ts +16 -0
- package/dist/services/open_ai_service.d.ts.map +1 -0
- package/dist/services/open_ai_service.js +92 -0
- package/dist/services/open_ai_service.js.map +1 -0
- package/dist/services/qdrant_service.d.ts +4 -0
- package/dist/services/qdrant_service.d.ts.map +1 -0
- package/dist/services/qdrant_service.js +14 -0
- package/dist/services/qdrant_service.js.map +1 -0
- package/dist/typology-parsed-response.d.ts +62 -0
- package/dist/typology-parsed-response.d.ts.map +1 -0
- package/dist/typology-parsed-response.js +1936 -0
- package/dist/typology-parsed-response.js.map +1 -0
- package/dist/typology_gen/generate_typology.d.ts +29 -0
- package/dist/typology_gen/generate_typology.d.ts.map +1 -0
- package/dist/typology_gen/generate_typology.js +92 -15
- package/dist/typology_gen/generate_typology.js.map +1 -0
- package/dist/utils/generate_args.d.ts +8 -0
- package/dist/utils/generate_args.d.ts.map +1 -0
- package/dist/utils/generate_args.js +28 -0
- package/dist/utils/generate_args.js.map +1 -0
- package/dist/utils/parse_openai_response.d.ts +11 -0
- package/dist/utils/parse_openai_response.d.ts.map +1 -0
- package/dist/utils/parse_openai_response.js +11 -10
- package/dist/utils/parse_openai_response.js.map +1 -0
- package/package.json +19 -7
- package/prompts.json +23 -0
- package/readme.md +16 -13
- package/src/bootstrap/app.ts +167 -107
- package/src/card_gen/generate_cards.ts +58 -0
- package/src/config.ts +5 -3
- package/src/constants/api_constants.ts +7 -0
- package/src/constants/prompt_data.ts +301 -0
- package/src/constants/prompts/card_gen_prompt.ts +101 -208
- package/src/constants/prompts/typology_prompt.ts +81 -33
- package/src/constants/source_data.ts +1029 -23
- package/src/embedding_generation/consolidation/global_consolidation.ts +94 -0
- package/src/embedding_generation/consolidation/local_consolidation.ts +141 -0
- package/src/embedding_generation/consolidation/write_consolidated_data.ts +98 -0
- package/src/embedding_generation/generate_embeddings.ts +41 -0
- package/src/embedding_generation/parse_embedding_response.ts +31 -0
- package/src/gap_fill/calculate_gap_fill.ts +50 -0
- package/src/helper/qdrant_db_methods.ts +77 -0
- package/src/index.ts +98 -164
- package/src/logger.ts +30 -0
- package/src/parse/parse_card/parse_cloze_card.ts +136 -0
- package/src/parse/parse_card/parse_flash_cards.ts +33 -0
- package/src/parse/parse_card/parse_match_card.ts +94 -0
- package/src/parse/parse_card/parse_mcq_card.ts +105 -0
- package/src/parse/parse_card_response.ts +117 -0
- package/src/parse/parse_source_content.ts +202 -0
- package/src/parse/response_format_card.ts +386 -0
- package/src/parse/response_format_typology.ts +44 -0
- package/src/services/open_ai_service.ts +88 -0
- package/src/services/qdrant_service.ts +10 -0
- package/src/typology-parsed-response.ts +1932 -0
- package/src/typology_gen/generate_typology.ts +101 -12
- package/src/utils/generate_args.ts +29 -0
- package/src/utils/parse_openai_response.ts +17 -19
- package/tsconfig.json +8 -3
- package/dist/class/parse/parse_source_content.js +0 -62
- package/dist/class/services/open_ai_service.js +0 -25
- package/dist/parse_response/response_format_card.js +0 -210
- package/dist/service/open_ai_request.js +0 -58
- package/src/class/parse/parse_source_content.ts +0 -71
- package/src/class/services/open_ai_service.ts +0 -18
- package/src/parse_response/response_format_card.ts +0 -211
- package/src/parse_response/response_format_typology.ts +0 -44
- package/src/service/open_ai_request.ts +0 -46
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.gapFilling = gapFilling;
|
|
4
|
+
function isEmpty(obj) {
|
|
5
|
+
return Object.keys(obj).length === 0;
|
|
6
|
+
}
|
|
7
|
+
function gapFilling(typologyResponse, cardgenResponse) {
|
|
8
|
+
var _a, _b, _c, _d, _e;
|
|
9
|
+
let allConcepts = [];
|
|
10
|
+
let allFacts = [];
|
|
11
|
+
let generatedConceptsList = [];
|
|
12
|
+
let generatedFactsList = [];
|
|
13
|
+
let remainingConcepts = [];
|
|
14
|
+
let remainingFacts = [];
|
|
15
|
+
if (!isEmpty(typologyResponse)) {
|
|
16
|
+
allConcepts.push(...((_a = typologyResponse.concepts) !== null && _a !== void 0 ? _a : []));
|
|
17
|
+
allFacts.push(...((_b = typologyResponse === null || typologyResponse === void 0 ? void 0 : typologyResponse.facts) !== null && _b !== void 0 ? _b : []));
|
|
18
|
+
}
|
|
19
|
+
if (!isEmpty(cardgenResponse)) {
|
|
20
|
+
allConcepts.push(...((_c = cardgenResponse.missing_concepts) !== null && _c !== void 0 ? _c : []));
|
|
21
|
+
allFacts.push(...((_d = cardgenResponse.missing_facts) !== null && _d !== void 0 ? _d : []));
|
|
22
|
+
}
|
|
23
|
+
if (cardgenResponse.cards_data !== undefined &&
|
|
24
|
+
((_e = cardgenResponse.cards_data) === null || _e === void 0 ? void 0 : _e.length) != 0) {
|
|
25
|
+
for (let card of cardgenResponse.cards_data) {
|
|
26
|
+
if (card.concepts.length != 0) {
|
|
27
|
+
generatedConceptsList.push(...card.concepts);
|
|
28
|
+
}
|
|
29
|
+
if (card.facts.length != 0) {
|
|
30
|
+
generatedFactsList.push(...card.facts);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
let generatedConceptsSet = Array.from(new Set(generatedConceptsList));
|
|
34
|
+
let generatedFactsSet = Array.from(new Set(generatedFactsList));
|
|
35
|
+
remainingConcepts = allConcepts.filter((item) => !generatedConceptsSet.includes(item));
|
|
36
|
+
remainingFacts = allFacts.filter((item) => !generatedFactsSet.includes(item));
|
|
37
|
+
}
|
|
38
|
+
return {
|
|
39
|
+
remainingConcepts: remainingConcepts,
|
|
40
|
+
remainingFacts: remainingFacts,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=calculate_gap_fill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calculate_gap_fill.js","sourceRoot":"","sources":["../../src/gap_fill/calculate_gap_fill.ts"],"names":[],"mappings":";;AAIA,gCA6CC;AAjDD,SAAS,OAAO,CAAC,GAAW;IAC1B,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AACvC,CAAC;AAED,SAAgB,UAAU,CAAC,gBAAqB,EAAE,eAAoB;;IACpE,IAAI,WAAW,GAAa,EAAE,CAAC;IAC/B,IAAI,QAAQ,GAAa,EAAE,CAAC;IAC5B,IAAI,qBAAqB,GAAa,EAAE,CAAC;IACzC,IAAI,kBAAkB,GAAa,EAAE,CAAC;IACtC,IAAI,iBAAiB,GAAa,EAAE,CAAC;IACrC,IAAI,cAAc,GAAa,EAAE,CAAC;IAClC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC/B,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,MAAA,gBAAgB,CAAC,QAAQ,mCAAI,EAAE,CAAC,CAAC,CAAC;QACvD,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,KAAK,mCAAI,EAAE,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;QAC9B,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,MAAA,eAAe,CAAC,gBAAgB,mCAAI,EAAE,CAAC,CAAC,CAAC;QAC9D,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,MAAA,eAAe,CAAC,aAAa,mCAAI,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,IACE,eAAe,CAAC,UAAU,KAAK,SAAS;QACxC,CAAA,MAAA,eAAe,CAAC,UAAU,0CAAE,MAAM,KAAI,CAAC,EACvC,CAAC;QACD,KAAK,IAAI,IAAI,IAAI,eAAe,CAAC,UAAU,EAAE,CAAC;YAC5C,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBAC9B,qBAAqB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC/C,CAAC;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBAC3B,kBAAkB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAED,IAAI,oBAAoB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC;QACtE,IAAI,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAEhE,iBAAiB,GAAG,WAAW,CAAC,MAAM,CACpC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAC/C,CAAC;QACF,cAAc,GAAG,QAAQ,CAAC,MAAM,CAC9B,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAC5C,CAAC;IACJ,CAAC;IAED,OAAO;QACL,iBAAiB,EAAE,iBAAiB;QACpC,cAAc,EAAE,cAAc;KAC/B,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
declare const createCollection: (collectionName: string) => Promise<void>;
|
|
2
|
+
declare const getCollection: () => Promise<{
|
|
3
|
+
collections: {
|
|
4
|
+
name: string;
|
|
5
|
+
}[];
|
|
6
|
+
}>;
|
|
7
|
+
declare const getCorrespondingConcepts: (collectionName: string, embeddings: {
|
|
8
|
+
text: string;
|
|
9
|
+
id: string;
|
|
10
|
+
type: string;
|
|
11
|
+
reference: string;
|
|
12
|
+
embedding: number[];
|
|
13
|
+
}[], threshold: number) => Promise<{
|
|
14
|
+
points: {
|
|
15
|
+
id: string | number;
|
|
16
|
+
version: number;
|
|
17
|
+
score: number;
|
|
18
|
+
payload?: Record<string, unknown> | {
|
|
19
|
+
[key: string]: unknown;
|
|
20
|
+
} | null | undefined;
|
|
21
|
+
vector?: Record<string, unknown> | number[] | number[][] | {
|
|
22
|
+
[key: string]: number[] | number[][] | {
|
|
23
|
+
indices: number[];
|
|
24
|
+
values: number[];
|
|
25
|
+
} | undefined;
|
|
26
|
+
} | null | undefined;
|
|
27
|
+
shard_key?: string | number | Record<string, unknown> | null | undefined;
|
|
28
|
+
order_value?: number | Record<string, unknown> | null | undefined;
|
|
29
|
+
}[];
|
|
30
|
+
}[]>;
|
|
31
|
+
declare const addEmbeddingsToCollection: (collectionName: string, embeddings: {
|
|
32
|
+
id: string;
|
|
33
|
+
vector: number[];
|
|
34
|
+
payload: {
|
|
35
|
+
_sources: string[];
|
|
36
|
+
text: string;
|
|
37
|
+
};
|
|
38
|
+
}[]) => Promise<void>;
|
|
39
|
+
export { createCollection, getCollection, addEmbeddingsToCollection, getCorrespondingConcepts as getSimilarConcepts, };
|
|
40
|
+
//# sourceMappingURL=qdrant_db_methods.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qdrant_db_methods.d.ts","sourceRoot":"","sources":["../../src/helper/qdrant_db_methods.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,gBAAgB,mBAA0B,MAAM,kBAOrD,CAAC;AAEF,QAAA,MAAM,aAAa;;;;EAGlB,CAAC;AAEF,QAAA,MAAM,wBAAwB,mBACZ,MAAM,cACV;IACV,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,EAAE,aACQ,MAAM;;;;;eAoDoq7G,CAAC;;;cAA0H,CAAC;;;;;;iBAA+tE,CAAC;mBAAuF,CAAC;;IAjC1mgH,CAAC;AAEF,QAAA,MAAM,yBAAyB,mBACb,MAAM,cACV;IACV,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE;QACP,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH,EAAE,kBAcJ,CAAC;AAEF,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,yBAAyB,EACzB,wBAAwB,IAAI,kBAAkB,GAC/C,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
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.getSimilarConcepts = exports.addEmbeddingsToCollection = exports.getCollection = exports.createCollection = void 0;
|
|
16
|
+
const qdrant_service_1 = __importDefault(require("../services/qdrant_service"));
|
|
17
|
+
const createCollection = (collectionName) => __awaiter(void 0, void 0, void 0, function* () {
|
|
18
|
+
yield qdrant_service_1.default.createCollection(collectionName, {
|
|
19
|
+
vectors: {
|
|
20
|
+
size: 1536,
|
|
21
|
+
distance: "Cosine",
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
exports.createCollection = createCollection;
|
|
26
|
+
const getCollection = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
27
|
+
const collection = yield qdrant_service_1.default.getCollections();
|
|
28
|
+
return collection;
|
|
29
|
+
});
|
|
30
|
+
exports.getCollection = getCollection;
|
|
31
|
+
const getCorrespondingConcepts = (collectionName, embeddings, threshold) => __awaiter(void 0, void 0, void 0, function* () {
|
|
32
|
+
try {
|
|
33
|
+
const searchQuery = embeddings.map((e) => {
|
|
34
|
+
return {
|
|
35
|
+
query: e.embedding,
|
|
36
|
+
limit: 1,
|
|
37
|
+
score_threshold: threshold,
|
|
38
|
+
with_payload: true,
|
|
39
|
+
};
|
|
40
|
+
});
|
|
41
|
+
const results = yield qdrant_service_1.default.queryBatch(collectionName, {
|
|
42
|
+
searches: searchQuery,
|
|
43
|
+
});
|
|
44
|
+
return results;
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
console.log(error);
|
|
48
|
+
throw error;
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
exports.getSimilarConcepts = getCorrespondingConcepts;
|
|
52
|
+
const addEmbeddingsToCollection = (collectionName, embeddings) => __awaiter(void 0, void 0, void 0, function* () {
|
|
53
|
+
const CHUNK_SIZE = 1000;
|
|
54
|
+
for (let i = 0; i < embeddings.length; i += CHUNK_SIZE) {
|
|
55
|
+
const batch = embeddings.slice(i, i + CHUNK_SIZE);
|
|
56
|
+
yield qdrant_service_1.default.upsert(collectionName, {
|
|
57
|
+
wait: true,
|
|
58
|
+
points: batch,
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
exports.addEmbeddingsToCollection = addEmbeddingsToCollection;
|
|
63
|
+
//# sourceMappingURL=qdrant_db_methods.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qdrant_db_methods.js","sourceRoot":"","sources":["../../src/helper/qdrant_db_methods.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gFAAsD;AAEtD,MAAM,gBAAgB,GAAG,CAAO,cAAsB,EAAE,EAAE;IACxD,MAAM,wBAAY,CAAC,gBAAgB,CAAC,cAAc,EAAE;QAClD,OAAO,EAAE;YACP,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,QAAQ;SACnB;KACF,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AA+DA,4CAAgB;AA7DlB,MAAM,aAAa,GAAG,GAAS,EAAE;IAC/B,MAAM,UAAU,GAAG,MAAM,wBAAY,CAAC,cAAc,EAAE,CAAC;IACvD,OAAO,UAAU,CAAC;AACpB,CAAC,CAAA,CAAC;AA2DA,sCAAa;AAzDf,MAAM,wBAAwB,GAAG,CAC/B,cAAsB,EACtB,UAMG,EACH,SAAiB,EACjB,EAAE;IACF,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACvC,OAAO;gBACL,KAAK,EAAE,CAAC,CAAC,SAAS;gBAClB,KAAK,EAAE,CAAC;gBACR,eAAe,EAAE,SAAS;gBAC1B,YAAY,EAAE,IAAI;aACnB,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,wBAAY,CAAC,UAAU,CAAC,cAAc,EAAE;YAC5D,QAAQ,EAAE,WAAW;SACtB,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAA,CAAC;AA+B4B,sDAAkB;AA7BhD,MAAM,yBAAyB,GAAG,CAChC,cAAsB,EACtB,UAOG,EACH,EAAE;IACF,MAAM,UAAU,GAAG,IAAI,CAAC;IACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC;QACvD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC;QAClD,MAAM,wBAAY,CAAC,MAAM,CACvB,cAAc,EAEd;YACE,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,KAAK;SACd,CACF,CAAC;IACJ,CAAC;AACH,CAAC,CAAA,CAAC;AAKA,8DAAyB"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAQpD,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,160 +1,97 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
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 card_gen_prompt_1 = require("./constants/prompts/card_gen_prompt");
|
|
16
|
-
const typology_prompt_1 = require("./constants/prompts/typology_prompt");
|
|
2
|
+
// import express from "express";
|
|
3
|
+
// import {
|
|
4
|
+
// returnCardResponse,
|
|
5
|
+
// returnHeadings,
|
|
6
|
+
// returnSourceData,
|
|
7
|
+
// } from "./constants/source_data";
|
|
8
|
+
// import config from "./config";
|
|
17
9
|
// const app = express();
|
|
18
10
|
// const port = 3000;
|
|
19
|
-
//
|
|
20
|
-
//
|
|
21
|
-
//
|
|
22
|
-
//
|
|
23
|
-
//
|
|
24
|
-
//
|
|
11
|
+
// import { returnPromptData } from "./constants/prompt_data";
|
|
12
|
+
// import { GenerateCards } from "./card_gen/generate_cards";
|
|
13
|
+
// import { OpenAiService } from "./services/open_ai_service";
|
|
14
|
+
// import { ParseCardResponse } from "./parse/parse_card_response";
|
|
15
|
+
// import { returnTypologyPrompt } from "./constants/prompts/typology_prompt";
|
|
16
|
+
// import { returnCardGenPrompt } from "./constants/prompts/card_gen_prompt";
|
|
17
|
+
// import { GenerateArgs } from "./utils/generate_args";
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
exports.OnlyEverGenerator = void 0;
|
|
20
|
+
const app_1 = require("./bootstrap/app");
|
|
21
|
+
Object.defineProperty(exports, "OnlyEverGenerator", { enumerable: true, get: function () { return app_1.OnlyEverGenerator; } });
|
|
22
|
+
// . All the Codes Below uses express and are strictly for development purpose, while publishing the package, comment everything
|
|
23
|
+
// below this line
|
|
24
|
+
// let oeGen = new OnlyEverGenerator(config.openAIKey, "gpt-4o-mini", {
|
|
25
|
+
// prompt: returnPromptData(),
|
|
26
|
+
// content: returnSourceData(),
|
|
25
27
|
// });
|
|
26
|
-
// app.get(
|
|
28
|
+
// app.get("/", async (req, res) => {
|
|
29
|
+
// // let data = oeGen.returnParsedContent();
|
|
30
|
+
// // let parsedData = parseResponse()
|
|
31
|
+
// let cardPrompt = "";
|
|
32
|
+
// res.send(cardPrompt);
|
|
33
|
+
// });
|
|
34
|
+
// app.get("/openAI", async (req, res) => {
|
|
27
35
|
// // let prompt = returnPromt();
|
|
28
|
-
// let prompt = returnCardGenPrompt();
|
|
29
|
-
//
|
|
30
|
-
//
|
|
31
|
-
//
|
|
32
|
-
//
|
|
33
|
-
//
|
|
34
|
-
// });
|
|
35
|
-
// app.get(
|
|
36
|
-
//
|
|
37
|
-
//
|
|
38
|
-
//
|
|
39
|
-
//
|
|
40
|
-
//
|
|
41
|
-
//
|
|
42
|
-
//
|
|
43
|
-
//
|
|
44
|
-
//
|
|
45
|
-
//
|
|
46
|
-
//
|
|
47
|
-
//
|
|
48
|
-
//
|
|
49
|
-
//
|
|
50
|
-
//
|
|
51
|
-
//
|
|
36
|
+
// // let prompt = returnCardGenPrompt();
|
|
37
|
+
// // let content = returnSourceData().toString()
|
|
38
|
+
// // let headings = returnHeadings();
|
|
39
|
+
// // // let aiRequest = await openAIRequest(prompt,content);
|
|
40
|
+
// let aiRequest = await oeGen.generate(true, true);
|
|
41
|
+
// res.send(aiRequest);
|
|
42
|
+
// });
|
|
43
|
+
// app.get("/parseCardData", async (req, res) => {
|
|
44
|
+
// let cardResp = returnCardResponse();
|
|
45
|
+
// let headings = returnHeadings();
|
|
46
|
+
// cardResp.metadata = {
|
|
47
|
+
// req_time: cardResp.generated_at ?? new Date(),
|
|
48
|
+
// req_type: "card",
|
|
49
|
+
// req_tokens: cardResp.usage_data?.prompt_tokens,
|
|
50
|
+
// res_tokens: cardResp.usage_data?.completion_tokens,
|
|
51
|
+
// model: "40-mini",
|
|
52
|
+
// };
|
|
53
|
+
// let parsedData = new ParseCardResponse().parse(cardResp, false, {});
|
|
54
|
+
// res.send(parsedData);
|
|
55
|
+
// });
|
|
56
|
+
// app.get("/generate-cards", async (req, res) => {
|
|
57
|
+
// let cardResp = embeddingsResp;
|
|
58
|
+
// oeGen.parsedContent.taxonomy = cardResp;
|
|
59
|
+
// let parsedData = await oeGen.generateCard(
|
|
60
|
+
// returnCardGenPrompt(),
|
|
61
|
+
// JSON.stringify(cardResp),
|
|
62
|
+
// false
|
|
63
|
+
// );
|
|
64
|
+
// res.send(parsedData);
|
|
65
|
+
// });
|
|
66
|
+
// app.get("/typology", async (req, res) => {
|
|
67
|
+
// {
|
|
68
|
+
// let typologyRequest = await oeGen.generate(true, false);
|
|
52
69
|
// res.send(typologyRequest);
|
|
53
70
|
// }
|
|
54
71
|
// });
|
|
72
|
+
// app.get("/local-consolidation", async (req, res) => {
|
|
73
|
+
// const concepts_facts = embeddingsResp.concepts_facts;
|
|
74
|
+
// let locallyConsolidated = new LocalConsolidation().consolidate(
|
|
75
|
+
// concepts_facts,
|
|
76
|
+
// "sourceID"
|
|
77
|
+
// );
|
|
78
|
+
// res.send(locallyConsolidated);
|
|
79
|
+
// });
|
|
80
|
+
// app.get("/global-consolidation", async (req, res) => {
|
|
81
|
+
// const concepts_facts = embeddingsResp.concepts_facts;
|
|
82
|
+
// // let globallyConsolidated = await new GlobalConsolidation().consolidate(
|
|
83
|
+
// // concepts_facts,
|
|
84
|
+
// // "sourceID",
|
|
85
|
+
// // 0.2
|
|
86
|
+
// // );
|
|
87
|
+
// // let globallyConsolidated = await oeGen.globalConsolidation(
|
|
88
|
+
// // concepts_facts,
|
|
89
|
+
// // "sourceID",
|
|
90
|
+
// // 0.2
|
|
91
|
+
// // );
|
|
92
|
+
// // res.send(globallyConsolidated);
|
|
93
|
+
// });
|
|
55
94
|
// app.listen(port, () => {
|
|
56
95
|
// console.log(`Example app listening at http://localhost:${port}`);
|
|
57
96
|
// });
|
|
58
|
-
|
|
59
|
-
constructor(apiKey, model, content) {
|
|
60
|
-
this.api_key = '';
|
|
61
|
-
this.parsedContent = '';
|
|
62
|
-
this.typologyResponse = {};
|
|
63
|
-
this.cardgenResponse = {};
|
|
64
|
-
this.summarizeResponse = {};
|
|
65
|
-
this.api_key = apiKey;
|
|
66
|
-
this.openAiService = new open_ai_service_1.OpenAiService(apiKey, model !== null && model !== void 0 ? model : 'gpt-3.5-turbo-1106');
|
|
67
|
-
this.parsedContent = new parse_source_content_1.ParseSourceContent(content).parse();
|
|
68
|
-
}
|
|
69
|
-
;
|
|
70
|
-
generate() {
|
|
71
|
-
return __awaiter(this, arguments, void 0, function* (generate_card = false, generate_typology = false) {
|
|
72
|
-
var _a, _b, _c;
|
|
73
|
-
let typologyPrompt = (0, typology_prompt_1.returnTypologyPrompt)();
|
|
74
|
-
let cardPrompt = (0, card_gen_prompt_1.returnCardGenPrompt)();
|
|
75
|
-
let args = new GenerateArgs(generate_card, generate_typology, false, {
|
|
76
|
-
typology_prompt: typologyPrompt,
|
|
77
|
-
card_gen_prompt: cardPrompt,
|
|
78
|
-
summary_prompt: ''
|
|
79
|
-
});
|
|
80
|
-
const responseToReturn = [];
|
|
81
|
-
const whatNeedsToBeGenerated = args.getWhatNeedsToBeGenerated();
|
|
82
|
-
for (let elem of whatNeedsToBeGenerated)
|
|
83
|
-
if (elem == 'generate_tyopology') {
|
|
84
|
-
this.typologyResponse = yield this.generateTypology((_a = args.prompts.typology_prompt) !== null && _a !== void 0 ? _a : '', this.parsedContent);
|
|
85
|
-
responseToReturn.push(this.typologyResponse);
|
|
86
|
-
}
|
|
87
|
-
else if (elem == 'generate_card') {
|
|
88
|
-
this.cardgenResponse = yield this.generateCard((_b = args.prompts.card_gen_prompt) !== null && _b !== void 0 ? _b : '', this.parsedContent + JSON.stringify(this.typologyResponse));
|
|
89
|
-
responseToReturn.push(this.cardgenResponse);
|
|
90
|
-
}
|
|
91
|
-
else if (elem == 'generate_summary') {
|
|
92
|
-
this.summarizeResponse = yield this.generateSummary((_c = args.prompts.summary_prompt) !== null && _c !== void 0 ? _c : '', this.parsedContent);
|
|
93
|
-
responseToReturn.push(this.summarizeResponse);
|
|
94
|
-
}
|
|
95
|
-
return responseToReturn;
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
_returnParsedContent() {
|
|
99
|
-
return this.parsedContent;
|
|
100
|
-
}
|
|
101
|
-
generateCard(prompt, content) {
|
|
102
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
103
|
-
var _a;
|
|
104
|
-
let response = yield ((_a = this.openAiService) === null || _a === void 0 ? void 0 : _a.sendRequest(prompt, this.parsedContent));
|
|
105
|
-
response['type'] = 'card_gen';
|
|
106
|
-
return response;
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
generateTypology(prompt, content) {
|
|
110
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
111
|
-
var _a;
|
|
112
|
-
let response = yield ((_a = this.openAiService) === null || _a === void 0 ? void 0 : _a.sendRequest(prompt, this.parsedContent));
|
|
113
|
-
response['type'] = 'typology';
|
|
114
|
-
return response;
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
generateSummary(prompt, content) {
|
|
118
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
119
|
-
var _a;
|
|
120
|
-
let response = yield ((_a = this.openAiService) === null || _a === void 0 ? void 0 : _a.sendRequest(prompt, this.parsedContent));
|
|
121
|
-
response['type'] = 'summary';
|
|
122
|
-
return response;
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
exports.OnlyEverGenerator = OnlyEverGenerator;
|
|
127
|
-
class GenerateArgs {
|
|
128
|
-
constructor(generate_card, generate_typology, generate_summary, prompts = {
|
|
129
|
-
typology_prompt: '',
|
|
130
|
-
card_gen_prompt: '',
|
|
131
|
-
summary_prompt: ''
|
|
132
|
-
}) {
|
|
133
|
-
this.generate_card = false;
|
|
134
|
-
this.generate_typology = false;
|
|
135
|
-
this.generate_summary = false;
|
|
136
|
-
this.prompts = {
|
|
137
|
-
typology_prompt: '',
|
|
138
|
-
card_gen_prompt: '',
|
|
139
|
-
summary_prompt: ''
|
|
140
|
-
};
|
|
141
|
-
this.generate_card = generate_card;
|
|
142
|
-
this.generate_typology = generate_typology;
|
|
143
|
-
this.generate_summary = generate_summary;
|
|
144
|
-
this.prompts = prompts;
|
|
145
|
-
}
|
|
146
|
-
getWhatNeedsToBeGenerated() {
|
|
147
|
-
let returnData = [];
|
|
148
|
-
if (this.generate_typology == true) {
|
|
149
|
-
returnData.push('generate_tyopology');
|
|
150
|
-
}
|
|
151
|
-
if (this.generate_summary == true) {
|
|
152
|
-
returnData.push('generate_summary');
|
|
153
|
-
}
|
|
154
|
-
if (this.generate_card == true) {
|
|
155
|
-
returnData.push('generate_card');
|
|
156
|
-
}
|
|
157
|
-
return returnData;
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
exports.GenerateArgs = GenerateArgs;
|
|
97
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,iCAAiC;AACjC,WAAW;AACX,wBAAwB;AACxB,oBAAoB;AACpB,sBAAsB;AACtB,oCAAoC;AACpC,iCAAiC;AACjC,yBAAyB;AACzB,qBAAqB;AACrB,8DAA8D;AAC9D,6DAA6D;AAC7D,8DAA8D;AAC9D,mEAAmE;AACnE,8EAA8E;AAC9E,6EAA6E;AAC7E,wDAAwD;;;AAExD,yCAAoD;AAQ3C,kGARA,uBAAiB,OAQA;AAE1B,gIAAgI;AAChI,kBAAkB;AAClB,uEAAuE;AACvE,gCAAgC;AAChC,iCAAiC;AACjC,MAAM;AACN,qCAAqC;AACrC,+CAA+C;AAC/C,wCAAwC;AACxC,yBAAyB;AAEzB,0BAA0B;AAC1B,MAAM;AAEN,2CAA2C;AAC3C,mCAAmC;AACnC,2CAA2C;AAC3C,qDAAqD;AACrD,0CAA0C;AAC1C,iEAAiE;AACjE,sDAAsD;AACtD,yBAAyB;AACzB,MAAM;AAEN,kDAAkD;AAClD,yCAAyC;AACzC,qCAAqC;AAErC,0BAA0B;AAC1B,qDAAqD;AACrD,wBAAwB;AACxB,sDAAsD;AACtD,0DAA0D;AAC1D,wBAAwB;AACxB,OAAO;AACP,yEAAyE;AACzE,0BAA0B;AAC1B,MAAM;AAEN,mDAAmD;AACnD,mCAAmC;AACnC,6CAA6C;AAC7C,+CAA+C;AAC/C,6BAA6B;AAC7B,gCAAgC;AAChC,YAAY;AACZ,OAAO;AACP,0BAA0B;AAC1B,MAAM;AAEN,6CAA6C;AAC7C,MAAM;AACN,+DAA+D;AAC/D,iCAAiC;AACjC,MAAM;AACN,MAAM;AAEN,wDAAwD;AACxD,0DAA0D;AAE1D,oEAAoE;AACpE,sBAAsB;AACtB,iBAAiB;AACjB,OAAO;AACP,mCAAmC;AACnC,MAAM;AAEN,yDAAyD;AACzD,0DAA0D;AAE1D,+EAA+E;AAC/E,yBAAyB;AACzB,qBAAqB;AACrB,aAAa;AACb,UAAU;AACV,mEAAmE;AACnE,yBAAyB;AACzB,qBAAqB;AACrB,aAAa;AACb,UAAU;AACV,uCAAuC;AACvC,MAAM;AAEN,2BAA2B;AAC3B,sEAAsE;AACtE,MAAM"}
|
package/dist/logger.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAKA,qBAAa,WAAW;IACtB,IAAI,EAAE,GAAG,CAAC;gBACE,IAAI,EAAE,GAAG;IAIf,GAAG;CAkBV"}
|
package/dist/logger.js
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/// this method will call out atlas function and will write to a doc, incase of any errors:
|
|
3
|
+
/// this is only for developmemt use
|
|
4
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
5
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
6
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
7
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
8
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
9
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
10
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.ErrorLogger = void 0;
|
|
18
|
+
const axios_1 = __importDefault(require("axios"));
|
|
19
|
+
class ErrorLogger {
|
|
20
|
+
constructor(data) {
|
|
21
|
+
this.data = data;
|
|
22
|
+
}
|
|
23
|
+
log() {
|
|
24
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
try {
|
|
26
|
+
let response = yield axios_1.default.post("https://us-east-1.aws.data.mongodb-api.com/app/oe-phase1-tkmsy/endpoint/oe_gen_logger", {
|
|
27
|
+
data: this.data,
|
|
28
|
+
}, {
|
|
29
|
+
headers: {
|
|
30
|
+
"Content-Type": ["application/json"],
|
|
31
|
+
},
|
|
32
|
+
});
|
|
33
|
+
return response;
|
|
34
|
+
}
|
|
35
|
+
catch (e) {
|
|
36
|
+
console.log(e);
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.ErrorLogger = ErrorLogger;
|
|
42
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";AAAA,2FAA2F;AAC3F,oCAAoC;;;;;;;;;;;;;;;AAEpC,kDAA0B;AAE1B,MAAa,WAAW;IAEtB,YAAY,IAAS;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEK,GAAG;;YACP,IAAI,CAAC;gBACH,IAAI,QAAQ,GAAG,MAAM,eAAK,CAAC,IAAI,CAC7B,uFAAuF,EACvF;oBACE,IAAI,EAAE,IAAI,CAAC,IAAI;iBAChB,EACD;oBACE,OAAO,EAAE;wBACP,cAAc,EAAE,CAAC,kBAAkB,CAAC;qBACrC;iBACF,CACF,CAAC;gBACF,OAAO,QAAQ,CAAC;YAClB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;KAAA;CACF;AAxBD,kCAwBC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare class ParseClozeCard {
|
|
2
|
+
parse(data: any): any;
|
|
3
|
+
_generateClozeCardDisplayTitle(question: string, answers: Array<any>): string;
|
|
4
|
+
_prepareQuestionAndCorrectAnswers(rawPrompt: String, correctOptions: Array<any>): {
|
|
5
|
+
prompt: string;
|
|
6
|
+
options: any;
|
|
7
|
+
};
|
|
8
|
+
_validateCloze(clozeCard: any): any;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=parse_cloze_card.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse_cloze_card.d.ts","sourceRoot":"","sources":["../../../src/parse/parse_card/parse_cloze_card.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAc;IACzB,KAAK,CAAC,IAAI,EAAE,GAAG;IAgDf,8BAA8B,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC;IAsBpE,iCAAiC,CAC/B,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,KAAK,CAAC,GAAG,CAAC;;;;IA4B5B,cAAc,CAAC,SAAS,EAAE,GAAG;CAkC9B"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ParseClozeCard = void 0;
|
|
4
|
+
class ParseClozeCard {
|
|
5
|
+
parse(data) {
|
|
6
|
+
try {
|
|
7
|
+
const content = data.card_content;
|
|
8
|
+
let correctOptions = content.correct_options;
|
|
9
|
+
let incorrectOptions = content.incorrect_options;
|
|
10
|
+
let allOptions = [...correctOptions, ...incorrectOptions];
|
|
11
|
+
let displayTitle = this._generateClozeCardDisplayTitle(data.card_content.prompt, allOptions);
|
|
12
|
+
let preparedData = this._prepareQuestionAndCorrectAnswers(content.prompt, correctOptions);
|
|
13
|
+
let finalQuestion = preparedData.prompt;
|
|
14
|
+
let parsedCorrectOptions = preparedData.options;
|
|
15
|
+
let parsedIncorrectoptions = incorrectOptions.map((e) => {
|
|
16
|
+
return {
|
|
17
|
+
option: e,
|
|
18
|
+
cloze: "null",
|
|
19
|
+
};
|
|
20
|
+
});
|
|
21
|
+
const finalParsedOptions = [
|
|
22
|
+
...parsedCorrectOptions,
|
|
23
|
+
...parsedIncorrectoptions,
|
|
24
|
+
];
|
|
25
|
+
let clozeCardData = {
|
|
26
|
+
type: {
|
|
27
|
+
category: "learning",
|
|
28
|
+
sub_type: data.type,
|
|
29
|
+
},
|
|
30
|
+
heading: "",
|
|
31
|
+
displayTitle: displayTitle,
|
|
32
|
+
content: {
|
|
33
|
+
question: finalQuestion,
|
|
34
|
+
options: finalParsedOptions,
|
|
35
|
+
},
|
|
36
|
+
concepts: data.concepts,
|
|
37
|
+
facts: data.facts,
|
|
38
|
+
explanation: data.card_content.explanation,
|
|
39
|
+
};
|
|
40
|
+
return this._validateCloze(clozeCardData);
|
|
41
|
+
}
|
|
42
|
+
catch (e) {
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
_generateClozeCardDisplayTitle(question, answers) {
|
|
47
|
+
try {
|
|
48
|
+
let optionsString = "";
|
|
49
|
+
if (answers.length !== 0) {
|
|
50
|
+
optionsString = answers.join(", ");
|
|
51
|
+
}
|
|
52
|
+
return `${question} ---- ${optionsString}`;
|
|
53
|
+
}
|
|
54
|
+
catch (e) {
|
|
55
|
+
throw Error("Error in generating display title");
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/// validate the cloze card
|
|
59
|
+
// 1. Has Empty cloze
|
|
60
|
+
// 2. has Duplicate Clozes
|
|
61
|
+
// 3. doesnt have any valid option,
|
|
62
|
+
// 4. Question length 320
|
|
63
|
+
// 5. More than 6 options
|
|
64
|
+
// 6. Less than 2 options
|
|
65
|
+
// 7. Max character for individual cloze: 90
|
|
66
|
+
_prepareQuestionAndCorrectAnswers(rawPrompt, correctOptions) {
|
|
67
|
+
try {
|
|
68
|
+
var finalCorrectOptions = [];
|
|
69
|
+
const regex = /{{(.*?)}}/g;
|
|
70
|
+
const transformed = rawPrompt.replace(regex, (match, p1) => {
|
|
71
|
+
// p1 is the captured group inside {{ }} (e.g., "fruit", "green")
|
|
72
|
+
const idx = correctOptions.indexOf(p1);
|
|
73
|
+
if (idx !== -1) {
|
|
74
|
+
let cloze = `c${idx}`;
|
|
75
|
+
finalCorrectOptions.push({
|
|
76
|
+
option: p1,
|
|
77
|
+
cloze: cloze,
|
|
78
|
+
});
|
|
79
|
+
return `{{c${idx}:${p1}}}`;
|
|
80
|
+
}
|
|
81
|
+
return match; // If not found in correct_options, leave as is or handle accordingly
|
|
82
|
+
});
|
|
83
|
+
return {
|
|
84
|
+
prompt: transformed,
|
|
85
|
+
options: finalCorrectOptions,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
catch (e) {
|
|
89
|
+
throw Error("Error in preparing question and correct answers");
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
_validateCloze(clozeCard) {
|
|
93
|
+
var _a;
|
|
94
|
+
let clozeRegex = /\{\{c(\d+):([^}]+)\}\}/g;
|
|
95
|
+
try {
|
|
96
|
+
/// validate emptu cloze
|
|
97
|
+
let options = (_a = clozeCard.content.options) !== null && _a !== void 0 ? _a : [];
|
|
98
|
+
let question = clozeCard.content.question;
|
|
99
|
+
if (options.length < 2 || options.length > 6) {
|
|
100
|
+
throw Error("Number of cloze options are invalid");
|
|
101
|
+
}
|
|
102
|
+
/// There are no correct clozes// or null cloze or empty cloze
|
|
103
|
+
let correctOptions = options.find((e) => e.cloze != "null" && e.cloze != null && e.cloze.trim() != "");
|
|
104
|
+
if (correctOptions) {
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
throw Error(" No valid clozes exists");
|
|
108
|
+
}
|
|
109
|
+
let rightClozes = options.filter((e) => e.cloze.startsWith("c"));
|
|
110
|
+
/// matches our cloze syntax
|
|
111
|
+
let clozeMatches = [...question.matchAll(clozeRegex)];
|
|
112
|
+
if (clozeMatches.length == 0) {
|
|
113
|
+
throw Error("Question Invalid");
|
|
114
|
+
}
|
|
115
|
+
else if (clozeMatches.length != rightClozes.length) {
|
|
116
|
+
throw Error(" Clozes in question doesnt match to clozes in options");
|
|
117
|
+
}
|
|
118
|
+
return clozeCard;
|
|
119
|
+
}
|
|
120
|
+
catch (e) {
|
|
121
|
+
throw Error(`Error in validating cloze card ${e.message}`);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
exports.ParseClozeCard = ParseClozeCard;
|
|
126
|
+
//# sourceMappingURL=parse_cloze_card.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse_cloze_card.js","sourceRoot":"","sources":["../../../src/parse/parse_card/parse_cloze_card.ts"],"names":[],"mappings":"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"}
|