only_ever_generator 0.0.7 → 0.0.8
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.js +14 -9
- package/dist/card_gen/generate_cards.js +184 -0
- package/dist/constants/api_constants.js +7 -0
- package/dist/constants/prompts/card_gen_prompt.js +30 -24
- package/dist/constants/source_data.js +5 -1
- package/dist/index.js +2 -2
- package/dist/parse/parse_card_response.js +288 -0
- package/dist/parse/parse_source_content.js +62 -0
- package/dist/parse/response_format_card.js +210 -0
- package/dist/parse/response_format_typology.js +47 -0
- package/dist/service/open_ai_request.js +0 -1
- package/dist/services/open_ai_service.js +60 -0
- package/dist/typology_gen/generate_typology.js +14 -6
- package/package.json +1 -1
- package/src/bootstrap/app.ts +19 -9
- package/src/card_gen/generate_cards.ts +192 -0
- package/src/constants/api_constants.ts +3 -0
- package/src/constants/prompts/card_gen_prompt.ts +30 -25
- package/src/constants/source_data.ts +5 -0
- package/src/index.ts +2 -2
- package/src/services/open_ai_service.ts +54 -0
- package/src/typology_gen/generate_typology.ts +19 -7
- package/src/class/services/open_ai_service.ts +0 -18
- package/src/service/open_ai_request.ts +0 -46
- /package/src/{parse_response → parse}/parse_card_response.ts +0 -0
- /package/src/{class/parse → parse}/parse_source_content.ts +0 -0
- /package/src/{parse_response → parse}/response_format_card.ts +0 -0
- /package/src/{parse_response → parse}/response_format_typology.ts +0 -0
|
@@ -1,14 +1,16 @@
|
|
|
1
|
-
import { OpenAiService } from "../
|
|
2
|
-
import { returnTypologyData } from "../
|
|
1
|
+
import { OpenAiService } from "../services/open_ai_service";
|
|
2
|
+
import { returnTypologyData } from "../parse/response_format_typology";
|
|
3
3
|
|
|
4
4
|
export class GenerateTypology{
|
|
5
5
|
public openAiService: OpenAiService;
|
|
6
6
|
public prompt:string = '';
|
|
7
7
|
public content:string = '';
|
|
8
|
-
|
|
8
|
+
expectedFields: Array<string>;
|
|
9
|
+
constructor(openAiService: OpenAiService, prompt:string,content:string,expected_fields: Array<string>){
|
|
9
10
|
this.openAiService = openAiService;
|
|
10
11
|
this.prompt = prompt;
|
|
11
12
|
this.content = content;
|
|
13
|
+
this.expectedFields = expected_fields.map((elem:string)=>elem.toLowerCase());
|
|
12
14
|
}
|
|
13
15
|
async generate(){
|
|
14
16
|
const response = await this.openAiService?.sendRequest(this.prompt,this.content);
|
|
@@ -16,8 +18,8 @@ export class GenerateTypology{
|
|
|
16
18
|
response.metadata = {
|
|
17
19
|
"req_time": response.generated_at,
|
|
18
20
|
"req_type": response.type,
|
|
19
|
-
"req_tokens": response.usage_data
|
|
20
|
-
"res_tokens": response.usage_data
|
|
21
|
+
"req_tokens": response.usage_data?.prompt_tokens,
|
|
22
|
+
"res_tokens": response.usage_data?.completion_tokens,
|
|
21
23
|
};
|
|
22
24
|
if(response.status_code == 200){
|
|
23
25
|
return this.parseTypologyOnSuccess(response);
|
|
@@ -33,15 +35,25 @@ export class GenerateTypology{
|
|
|
33
35
|
return {
|
|
34
36
|
status_code: 200,
|
|
35
37
|
metadata: responseData.metadata,
|
|
36
|
-
field: generatedContent.field,
|
|
38
|
+
field: this.parseFields(generatedContent.field),
|
|
37
39
|
concepts: generatedContent.concepts,
|
|
38
40
|
facts: generatedContent.facts,
|
|
39
41
|
generate_cards : generatedContent.generate_cards,
|
|
40
42
|
summary_cards: generatedContent.summary_cards,
|
|
41
|
-
type: responseData.type
|
|
43
|
+
type: responseData.type
|
|
42
44
|
}
|
|
43
45
|
}
|
|
44
46
|
|
|
47
|
+
parseFields(fields: Array<string>){
|
|
48
|
+
const fieldKeys = ['primary_field', 'secondary_field', 'tertiary_field'];
|
|
49
|
+
return fields.slice(0,3).map((item,index)=> (
|
|
50
|
+
{
|
|
51
|
+
[fieldKeys[index]]: item,
|
|
52
|
+
"reconcile" : !(this.expectedFields.includes(item.toLowerCase()))
|
|
53
|
+
}
|
|
54
|
+
));
|
|
55
|
+
}
|
|
56
|
+
|
|
45
57
|
async parseTypologyOnFailure(responseData:any){
|
|
46
58
|
responseData.metadata.status = 'failed';
|
|
47
59
|
return {
|
|
@@ -1,18 +0,0 @@
|
|
|
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
|
-
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import axios from "axios";
|
|
2
|
-
import config from "../config.js";
|
|
3
|
-
import { parseOpenAiFailureResponse, parseOpenAiSuccessResponse } from "../utils/parse_openai_response.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export async function openAIRequest(content:String,prompt:String,token:String,model: String){
|
|
7
|
-
try{
|
|
8
|
-
let message = [
|
|
9
|
-
{
|
|
10
|
-
"role": "system", "content": prompt
|
|
11
|
-
},{
|
|
12
|
-
"role": "user", "content": content
|
|
13
|
-
}
|
|
14
|
-
];
|
|
15
|
-
const url = 'https://api.openai.com/v1/chat/completions';
|
|
16
|
-
let response = await axios.post(
|
|
17
|
-
url,
|
|
18
|
-
//data
|
|
19
|
-
{
|
|
20
|
-
"model": model,
|
|
21
|
-
"messages": message,
|
|
22
|
-
"response_format": {"type": "json_object"},
|
|
23
|
-
},
|
|
24
|
-
///config
|
|
25
|
-
{
|
|
26
|
-
headers : {
|
|
27
|
-
Authorization : "Bearer "+ token,
|
|
28
|
-
"Content-Type" : ['application/json']
|
|
29
|
-
},
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
);
|
|
34
|
-
|
|
35
|
-
if(response.status == 200){
|
|
36
|
-
console.log('success');
|
|
37
|
-
return parseOpenAiSuccessResponse(response.data) as any
|
|
38
|
-
// return JSON.parse(response.data.choices[0].message.content);
|
|
39
|
-
|
|
40
|
-
}else{
|
|
41
|
-
console.log('failed');
|
|
42
|
-
return response.statusText as any;
|
|
43
|
-
}}catch (err:any) {
|
|
44
|
-
return parseOpenAiFailureResponse(err.response);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|