@gapi/openai 1.8.144 → 1.8.146

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/README.md CHANGED
@@ -55,6 +55,41 @@ mutation {
55
55
  }
56
56
  ```
57
57
 
58
+
59
+ #### Create Chat Completion prompt
60
+ ```graphql
61
+ mutation {
62
+ createChatCompletion(
63
+ payload: {
64
+ model: "gpt-3.5-turbo"
65
+ prompt: "Can you write a description for card based on this text 'Create inside user portal page which will show when user log in to the system'"
66
+ max_tokens: 2048
67
+ }
68
+ ) {
69
+ id
70
+ object
71
+ created
72
+ model
73
+ choices {
74
+ text
75
+ message {
76
+ role
77
+ content
78
+ }
79
+ index
80
+ logprobs
81
+ finish_reason
82
+ }
83
+ usage {
84
+ prompt_tokens
85
+ completion_tokens
86
+ total_tokens
87
+ }
88
+ }
89
+ }
90
+
91
+ ```
92
+
58
93
  #### Extending the OpenAPI graphql endpoints using internal provided injection token `OpenAI`
59
94
 
60
95
  ```typescript
@@ -86,6 +121,28 @@ export class CustomControllerController {
86
121
  }),
87
122
  ).pipe(map((res) => res.data));
88
123
  }
124
+
125
+
126
+ @Type(CreateCompletionType)
127
+ @Mutation({
128
+ payload: {
129
+ type: new GraphQLNonNull(CreateCompletionInputType),
130
+ },
131
+ })
132
+ createChatCompletion(
133
+ root,
134
+ { payload }: { payload: CreateCompletionRequest },
135
+ ) {
136
+ return from(
137
+ this.openai.createChatCompletion({
138
+ messages: [{
139
+ role: 'user',
140
+ content: payload.prompt as string
141
+ }],
142
+ max_tokens: payload.max_tokens ?? 2048,
143
+ }),
144
+ ).pipe(map((res) => res.data));
145
+ }
89
146
  }
90
147
 
91
148
  ```
@@ -6,4 +6,7 @@ export declare class OpenAIController {
6
6
  createCompletion(root: any, { payload }: {
7
7
  payload: CreateCompletionRequest;
8
8
  }): import("rxjs").Observable<import("openai").CreateCompletionResponse>;
9
+ createChatCompletion(root: any, { payload }: {
10
+ payload: CreateCompletionRequest;
11
+ }): import("rxjs").Observable<import("openai").CreateChatCompletionResponse>;
9
12
  }
@@ -27,6 +27,10 @@ let OpenAIController = class OpenAIController {
27
27
  var _a;
28
28
  return rxjs_1.from(this.openai.createCompletion(Object.assign(Object.assign({}, payload), { max_tokens: (_a = payload.max_tokens) !== null && _a !== void 0 ? _a : 2048 }))).pipe(operators_1.map((res) => res.data));
29
29
  }
30
+ createChatCompletion(root, { payload }) {
31
+ var _a;
32
+ return rxjs_1.from(this.openai.createChatCompletion(JSON.parse(JSON.stringify(Object.assign(Object.assign({}, payload), { messages: [{ role: 'user', content: payload.prompt }], max_tokens: (_a = payload.max_tokens) !== null && _a !== void 0 ? _a : 2048, prompt: undefined }))))).pipe(operators_1.map((res) => res.data));
33
+ }
30
34
  };
31
35
  __decorate([
32
36
  core_1.Type(create_completion_type_1.CreateCompletionType),
@@ -39,6 +43,17 @@ __decorate([
39
43
  __metadata("design:paramtypes", [Object, Object]),
40
44
  __metadata("design:returntype", void 0)
41
45
  ], OpenAIController.prototype, "createCompletion", null);
46
+ __decorate([
47
+ core_1.Type(create_completion_type_1.CreateCompletionType),
48
+ core_1.Mutation({
49
+ payload: {
50
+ type: new core_1.GraphQLNonNull(create_completion_input_type_1.CreateCompletionInputType),
51
+ },
52
+ }),
53
+ __metadata("design:type", Function),
54
+ __metadata("design:paramtypes", [Object, Object]),
55
+ __metadata("design:returntype", void 0)
56
+ ], OpenAIController.prototype, "createChatCompletion", null);
42
57
  OpenAIController = __decorate([
43
58
  core_1.Controller(),
44
59
  __param(0, core_1.Inject(openai_tokens_1.OpenAI)),
@@ -1 +1 @@
1
- {"version":3,"file":"openai.controller.js","sourceRoot":"","sources":["../src/openai.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,qCAAgF;AAEhF,+BAA4B;AAC5B,8CAAqC;AAErC,mDAAyC;AACzC,uFAAiF;AACjF,2EAAsE;AAGtE,IAAa,gBAAgB,GAA7B,MAAa,gBAAgB;IAC3B,YAAoC,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAQtD,gBAAgB,CAAC,IAAI,EAAE,EAAE,OAAO,EAAwC;;QACtE,OAAO,WAAI,CACT,IAAI,CAAC,MAAM,CAAC,gBAAgB,iCACvB,OAAO,KACV,UAAU,QAAE,OAAO,CAAC,UAAU,mCAAI,IAAI,IACtC,CACH,CAAC,IAAI,CAAC,eAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACjC,CAAC;CACF,CAAA;AARC;IANC,WAAI,CAAC,6CAAoB,CAAC;IAC1B,eAAQ,CAAC;QACR,OAAO,EAAE;YACP,IAAI,EAAE,IAAI,qBAAc,CAAC,wDAAyB,CAAC;SACpD;KACF,CAAC;;;;wDAQD;AAhBU,gBAAgB;IAD5B,iBAAU,EAAE;IAEE,WAAA,aAAM,CAAC,sBAAM,CAAC,CAAA;;GADhB,gBAAgB,CAiB5B;AAjBY,4CAAgB"}
1
+ {"version":3,"file":"openai.controller.js","sourceRoot":"","sources":["../src/openai.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,qCAAgF;AAEhF,+BAA4B;AAC5B,8CAAqC;AAErC,mDAAyC;AACzC,uFAAiF;AACjF,2EAAsE;AAGtE,IAAa,gBAAgB,GAA7B,MAAa,gBAAgB;IAC3B,YAAoC,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAQtD,gBAAgB,CAAC,IAAI,EAAE,EAAE,OAAO,EAAwC;;QACtE,OAAO,WAAI,CACT,IAAI,CAAC,MAAM,CAAC,gBAAgB,iCACvB,OAAO,KACV,UAAU,QAAE,OAAO,CAAC,UAAU,mCAAI,IAAI,IACtC,CACH,CAAC,IAAI,CAAC,eAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACjC,CAAC;IAQD,oBAAoB,CAClB,IAAI,EACJ,EAAE,OAAO,EAAwC;;QAEjD,OAAO,WAAI,CACT,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAC9B,IAAI,CAAC,KAAK,CACR,IAAI,CAAC,SAAS,iCACT,OAAO,KACV,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,MAAgB,EAAE,CAAC,EAC/D,UAAU,QAAE,OAAO,CAAC,UAAU,mCAAI,IAAI,EACtC,MAAM,EAAE,SAAS,IACjB,CACH,CACF,CACF,CAAC,IAAI,CAAC,eAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACjC,CAAC;CACF,CAAA;AAhCC;IANC,WAAI,CAAC,6CAAoB,CAAC;IAC1B,eAAQ,CAAC;QACR,OAAO,EAAE;YACP,IAAI,EAAE,IAAI,qBAAc,CAAC,wDAAyB,CAAC;SACpD;KACF,CAAC;;;;wDAQD;AAQD;IANC,WAAI,CAAC,6CAAoB,CAAC;IAC1B,eAAQ,CAAC;QACR,OAAO,EAAE;YACP,IAAI,EAAE,IAAI,qBAAc,CAAC,wDAAyB,CAAC;SACpD;KACF,CAAC;;;;4DAiBD;AAxCU,gBAAgB;IAD5B,iBAAU,EAAE;IAEE,WAAA,aAAM,CAAC,sBAAM,CAAC,CAAA;;GADhB,gBAAgB,CAyC5B;AAzCY,4CAAgB"}
@@ -20,8 +20,19 @@ exports.CreateCompletionChoicesType = new graphql_1.GraphQLObjectType({
20
20
  name: 'CreateCompletionChoicesType',
21
21
  fields: () => ({
22
22
  text: {
23
+ description: 'This property can be defined using createCompletion method',
23
24
  type: graphql_1.GraphQLString,
24
25
  },
26
+ message: {
27
+ description: 'This property can be defined using createChatCompletion method',
28
+ type: new graphql_1.GraphQLObjectType({
29
+ name: 'CreateChatCompletionMessageType',
30
+ fields: () => ({
31
+ role: { type: graphql_1.GraphQLString },
32
+ content: { type: graphql_1.GraphQLString },
33
+ }),
34
+ }),
35
+ },
25
36
  index: {
26
37
  type: graphql_1.GraphQLString,
27
38
  },
@@ -1 +1 @@
1
- {"version":3,"file":"create-completion.type.js","sourceRoot":"","sources":["../../src/types/create-completion.type.ts"],"names":[],"mappings":";;;AAAA,qCAKiB;AAEJ,QAAA,yBAAyB,GAAG,IAAI,2BAAiB,CAAC;IAC7D,IAAI,EAAE,2BAA2B;IACjC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QACb,aAAa,EAAE;YACb,IAAI,EAAE,oBAAU;SACjB;QACD,iBAAiB,EAAE;YACjB,IAAI,EAAE,oBAAU;SACjB;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,oBAAU;SACjB;KACF,CAAC;CACH,CAAC,CAAC;AAEU,QAAA,2BAA2B,GAAG,IAAI,2BAAiB,CAAC;IAC/D,IAAI,EAAE,6BAA6B;IACnC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QACb,IAAI,EAAE;YACJ,IAAI,EAAE,uBAAa;SACpB;QACD,KAAK,EAAE;YACL,IAAI,EAAE,uBAAa;SACpB;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,uBAAa;SACpB;QACD,aAAa,EAAE;YACb,IAAI,EAAE,uBAAa;SACpB;KACF,CAAC;CACH,CAAC,CAAC;AAEU,QAAA,oBAAoB,GAAG,IAAI,2BAAiB,CAAC;IACxD,IAAI,EAAE,sBAAsB;IAC5B,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QACb,EAAE,EAAE;YACF,IAAI,EAAE,uBAAa;SACpB;QACD,MAAM,EAAE;YACN,IAAI,EAAE,uBAAa;SACpB;QACD,OAAO,EAAE;YACP,IAAI,EAAE,oBAAU;SACjB;QACD,KAAK,EAAE;YACL,IAAI,EAAE,uBAAa;SACpB;QACD,OAAO,EAAE;YACP,IAAI,EAAE,IAAI,qBAAW,CAAC,mCAA2B,CAAC;SACnD;QACD,KAAK,EAAE;YACL,IAAI,EAAE,iCAAyB;SAChC;KACF,CAAC;CACH,CAAC,CAAC"}
1
+ {"version":3,"file":"create-completion.type.js","sourceRoot":"","sources":["../../src/types/create-completion.type.ts"],"names":[],"mappings":";;;AAAA,qCAKiB;AAEJ,QAAA,yBAAyB,GAAG,IAAI,2BAAiB,CAAC;IAC7D,IAAI,EAAE,2BAA2B;IACjC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QACb,aAAa,EAAE;YACb,IAAI,EAAE,oBAAU;SACjB;QACD,iBAAiB,EAAE;YACjB,IAAI,EAAE,oBAAU;SACjB;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,oBAAU;SACjB;KACF,CAAC;CACH,CAAC,CAAC;AAEU,QAAA,2BAA2B,GAAG,IAAI,2BAAiB,CAAC;IAC/D,IAAI,EAAE,6BAA6B;IACnC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QACb,IAAI,EAAE;YACJ,WAAW,EAAE,4DAA4D;YACzE,IAAI,EAAE,uBAAa;SACpB;QACD,OAAO,EAAE;YACP,WAAW,EACT,gEAAgE;YAClE,IAAI,EAAE,IAAI,2BAAiB,CAAC;gBAC1B,IAAI,EAAE,iCAAiC;gBACvC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;oBACb,IAAI,EAAE,EAAE,IAAI,EAAE,uBAAa,EAAE;oBAC7B,OAAO,EAAE,EAAE,IAAI,EAAE,uBAAa,EAAE;iBACjC,CAAC;aACH,CAAC;SACH;QACD,KAAK,EAAE;YACL,IAAI,EAAE,uBAAa;SACpB;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,uBAAa;SACpB;QACD,aAAa,EAAE;YACb,IAAI,EAAE,uBAAa;SACpB;KACF,CAAC;CACH,CAAC,CAAC;AAEU,QAAA,oBAAoB,GAAG,IAAI,2BAAiB,CAAC;IACxD,IAAI,EAAE,sBAAsB;IAC5B,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QACb,EAAE,EAAE;YACF,IAAI,EAAE,uBAAa;SACpB;QACD,MAAM,EAAE;YACN,IAAI,EAAE,uBAAa;SACpB;QACD,OAAO,EAAE;YACP,IAAI,EAAE,oBAAU;SACjB;QACD,KAAK,EAAE;YACL,IAAI,EAAE,uBAAa;SACpB;QACD,OAAO,EAAE;YACP,IAAI,EAAE,IAAI,qBAAW,CAAC,mCAA2B,CAAC;SACnD;QACD,KAAK,EAAE;YACL,IAAI,EAAE,iCAAyB;SAChC;KACF,CAAC;CACH,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gapi/openai",
3
- "version": "1.8.144",
3
+ "version": "1.8.146",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/Stradivario/gapi.git"
@@ -29,8 +29,10 @@
29
29
  "url": "https://github.com/Stradivario/gapi/issues"
30
30
  },
31
31
  "dependencies": {
32
- "openai": "^3.1.0",
33
- "@gapi/core": "^1.8.143"
32
+ "openai": "^3.2.1"
33
+ },
34
+ "peerDependencies": {
35
+ "@gapi/core": "^1.8.144"
34
36
  },
35
37
  "devDependencies": {
36
38
  "@types/node": "^13.11.1",
@@ -25,4 +25,28 @@ export class OpenAIController {
25
25
  }),
26
26
  ).pipe(map((res) => res.data));
27
27
  }
28
+
29
+ @Type(CreateCompletionType)
30
+ @Mutation({
31
+ payload: {
32
+ type: new GraphQLNonNull(CreateCompletionInputType),
33
+ },
34
+ })
35
+ createChatCompletion(
36
+ root,
37
+ { payload }: { payload: CreateCompletionRequest },
38
+ ) {
39
+ return from(
40
+ this.openai.createChatCompletion(
41
+ JSON.parse(
42
+ JSON.stringify({
43
+ ...payload,
44
+ messages: [{ role: 'user', content: payload.prompt as string }],
45
+ max_tokens: payload.max_tokens ?? 2048,
46
+ prompt: undefined,
47
+ }),
48
+ ),
49
+ ),
50
+ ).pipe(map((res) => res.data));
51
+ }
28
52
  }
@@ -24,8 +24,20 @@ export const CreateCompletionChoicesType = new GraphQLObjectType({
24
24
  name: 'CreateCompletionChoicesType',
25
25
  fields: () => ({
26
26
  text: {
27
+ description: 'This property can be defined using createCompletion method',
27
28
  type: GraphQLString,
28
29
  },
30
+ message: {
31
+ description:
32
+ 'This property can be defined using createChatCompletion method',
33
+ type: new GraphQLObjectType({
34
+ name: 'CreateChatCompletionMessageType',
35
+ fields: () => ({
36
+ role: { type: GraphQLString },
37
+ content: { type: GraphQLString },
38
+ }),
39
+ }),
40
+ },
29
41
  index: {
30
42
  type: GraphQLString,
31
43
  },